感覺java的txt文件轉化爲csv文件的方法會難些。但是可以通過調用jar包裏面現成的類方法來解決。
首先我在本地使用的是ideaij的maven,因此在pom.xml在加入依賴,來自動加載jar包到本地庫。
<dependencies>
<!-- https://mvnrepository.com/artifact/net.sourceforge.javacsv/javacsv -->
<dependency>
<groupId>net.sourceforge.javacsv</groupId>
<artifactId>javacsv</artifactId>
<version>2.0</version>
</dependency>
</dependencies>
然後在java文件中添加import:
import com.csvreader.CsvWriter;
然後方法如下,path表示文件將要存儲的路徑:
//將txt文件存儲爲csv文件
public void txtToCsv() {
String readFile = path + "newFile.txt";
String writeFile = path + "result.csv";
File file = new File(readFile);
ArrayList<ArrayList<String>> list = new ArrayList<ArrayList<String>>();
try {
CsvWriter csvWriter = new CsvWriter(path + "newfile.csv", ',', Charset.forName("UTF-8"));
FileReader fileReader = new FileReader(file);
BufferedReader bufferedReader = new BufferedReader(fileReader);
String string = "";
while ((string = bufferedReader.readLine()) != null) {
String[] s = string.split(" | +");
csvWriter.writeRecord(s);
}
csvWriter.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
如果沒有maven,只想通過linux中的shell命令執行java文件,需要在網上先download下來這個jar包,然後編譯執行:
#方法1
javac -Djava.ext.dirs=/home/wangrui dataProcess.java
#-Djava.ext.dirs表示jar包存放路徑
java -Djava.ext.dirs=/home/wangrui dataProcess
#方法2
javac -cp .:sample.jar dataProcess.java
java -cp .:sample.jar dataProcess
方法2中sample.jar包就是你想要調用的jar包。