一、普通自定义参数
如果我们想要在Springboot中自定义一个参数,这个参数可以通过
application.properties
或者application.yml
文件来设置,也可以通过java -jar的形式来设置,那么只需要在application.properties或者application.yml文件中正常设定即可,如:
#自定义热点词词库
keyword.url=F:/test/hotkeyword.txt
#自定义停用词词库
stopkeyword.url=F:/test/stopkeyword.txt
二、jar包自定义参数
jar包形式启动的时候可以通过命令"
-Dkeyword.url=F:/test/hotkeyword2.txt
"和“-Dstopkeyword.url=F:/test/stopkeyword2.txt
”分别覆盖application.properties或者application.yml文件中的默认参数,完整命令如下:
java -Dkeyword.url=F:/test/hotkeyword2.txt -Dstopkeyword.url=F:/test/stopkeyword2.txt -jar extractKeyword.jar
三、默认文件自定义参数
当一和二都不存在时失效
3.1 设定默认文件路径
在src/main/resources目录下创建默认的文件信息,这里假设为:myfile/mystopkeyword.txt文件,如:
这样我们在获取参数keyword.url和stopkeyword.url时,如果发现值为空,则可以使用默认的文件信息,保证程序正常运行。获取src/main/resources目录下文件的方法使用以下方法即可:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
/**
* <h5>功能:txt文档操作</h5>
*
*/
public class ToolTxt {
/**
* <h5>功能:读取src/main/resources目录指定txt文件的内容</h5>
*
* @return List<String>
*/
public static List<String> readTxt() {
List<String> dataList = new ArrayList<String>();
String templateFilePath = "myfile/mystopkeyword.txt"; // 确保路径正确
InputStream inputStream = Object.class.getResourceAsStream("/" + templateFilePath);
if (inputStream == null) {
System.out.println("File not found: " + templateFilePath);
return dataList;
}
try (BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream))) {
String line;
while ((line = reader.readLine()) != null) {
dataList.add(line);
}
} catch (IOException e) {
e.printStackTrace();
}
return dataList;
}
}
将以上三种方法结合,我们可以三重保证自定义参数的完整性,防止发生信息为空的错误。