處理NSE數據時,會提取和重組一些數據,現在一共有兩個方法,一個是 java 自帶的方法,一個就是用一個第三方的庫 CSVReader。
java 自帶的 BufferedReader
import java.io.*;
private static void data_copy() throws IOException
{
BufferedReader br = new BufferedReader(new FileReader("your file"));
String line;
String targetFile = "F:\\data analysis";
java.io.File a = new java.io.File(targetFile);
File fileHandle = new File(a,"caochu.txt");
FileOutputStream outStream = new FileOutputStream(fileHandle);
while ((line = br.readLine()) != null)
{
String dataContent = line + "\n";
outStream.write(dataContent.getBytes());
}
outStream.close();
br.close();
}
簡單寫法如下
import java.io.*;
private static void data_copy() throws IOException
{
BufferedReader br = new BufferedReader(new FileReader("file directory"));
String line;
Writer writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("target file directory"), StandardCharsets.UTF_8));
while ((line = br.readLine()) != null)
{
writer.write(line + "\n");
}
br.close();
writer.close();
}
使用 CSVReader 庫讀取
import com.opencsv.CSVReader;
public static void data_extractor() throws IOException, ParseException
{
String[] nextLine;
CSVReader reader = new CSVReader(new FileReader("file directory"));
while ((nextLine = reader.readNext()) != null)
{
FileWriter dataWriter = new FileWriter("target file", false);
PrintWriter dataContent = new PrintWriter(dataWriter);
dataContent.printf("%s", nextLine[1]);
dataContent.printf("%s", "\n");
}
dataContent.close();
}
感覺浪費了好多時間編輯這個東西,不過個人感覺這些東西有一天會有用的。
個人學習資料,如有雷同,那必然是巧合