private void writeTargetCsvFile(File originCsvFile, File targetCsvFile) throws Exception {
if (targetCsvFile.exists()) {
boolean deleteResult = targetCsvFile.delete();
if (deleteResult == false) {
throw new Exception(targetCsvFile.getAbsolutePath() + " has existed and can not be deleted");
}
}
FileInputStream fis = null;
InputStreamReader isr = null;
BufferedReader br = null;
FileOutputStream fos = null;
OutputStreamWriter osw = null;
BufferedWriter bw = null;
String line = null;
fis = new FileInputStream(originCsvFile);
isr = new InputStreamReader(fis, StandardCharsets.UTF_16LE);
br = new BufferedReader(isr);
fos = new FileOutputStream(targetCsvFile);
osw = new OutputStreamWriter(fos, StandardCharsets.UTF_16LE);
bw = new BufferedWriter(osw);
int lineNumber = 1;
while((line = br.readLine()) != null) {
if (lineNumber == 1) {
String[] columns = line.split("\t");
columns[2] = getLanguageNameByPrimaryAndSub(columns[2]);
columns[3] = getLanguageNameByPrimaryAndSub(columns[3]);
line = String.join("\t", columns);
}
bw.write(line);
bw.newLine();
lineNumber++;
}
bw.flush();
bw.close();
osw.close();
fos.close();
br.close();
isr.close();
fis.close();
}
Java读写UTF-16 little Endian文件
猜你喜欢
转载自blog.csdn.net/qq_38844636/article/details/79628341
今日推荐
周排行