📄 testtow.java
字号:
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
public class TestTow {
/**
* @param args
*/
public static void main(String[] args) {
//处理C:\RowaNoteBook----------
//TestTow.readFileByLines("C:/RowaNoteBook----------/RowaNoteBook.txt","C:/RowaNoteBook----------/RowaNoteBook--Chinese.txt","C:/RowaNoteBook----------/对照文本.txt");
//删除相同的行
//TestTow.deleteSame("C:/RowaNoteBook/a5.txt", "C:/RowaNoteBook/a6.txt");
//处理RowaProlog
//TestTow.readFileByLines("C:/Prolog/RowaProlog.txt", "C:/Prolog/Prolog--Chinese.txt", "C:/Prolog/对照文本.txt");
//处理RowaPcDuo
//TestTow.readFileByLines("C:/RowaPcDuo/RowaPcDuo.txt", "C:/RowaPcDuo/RowaPcDuo--Chinese.txt", "C:/RowaPcDuo/对照文本.txt");
//处理RowaRechner
//TestTow.readFileByLines("C:/RowaRechner/RowaRechner.txt", "C:/RowaRechner/RowaRechner-Chinese.txt", "C:/RowaRechner/对照文本.txt");
//处理RowaSystemInfo
//TestTow.readFileByLines("C:/RowaSystemInfo/RowaSystemInfo.txt", "C:/RowaSystemInfo/RowaSystemInfo--Chinese.txt", "C:/RowaSystemInfo/对照文本.txt");
//处理RowaUpdate
//TestTow.readFileByLines("C:/RowaUpdate/RowaUpdate.txt", "C:/RowaUpdate/RowaUpdate--Chinese.txt", "C:/RowaUpdate/对照文本.txt");
//处理RowaWaWi
//TestTow.readFileByLines("C:/RowaWaWi/RowaWaWi.txt", "C:/RowaWaWi/RowaWaWi--Chinese.txt", "C:/RowaWaWi/对照文本.txt");
//处理RowaWaWiBarCodeLeser
//TestTow.readFileByLines("C:/RowaWaWiBarCodeLeser/RowaWaWiBarCodeLeser.txt", "C:/RowaWaWiBarCodeLeser/RowaWaWiBarCodeLeser--Chinese.txt", "C:/RowaWaWiBarCodeLeser/对照文本.txt");
//处理RowaWaWiKopplung
//TestTow.readFileByLines("C:/RowaWaWiKopplung/RowaWaWiKopplung.txt", "C:/RowaWaWiKopplung/RowaWaWiKopplung--Chinese.txt", "C:/RowaWaWiKopplung/对照文本.txt");
//处理C:\RowaWaWiMesse
//TestTow.readFileByLines("C:/RowaWaWiMesse/RowaWaWiMesse.txt", "C:/RowaWaWiMesse/RowaWaWiMesse--Chinese.txt", "C:/RowaWaWiMesse/对照文本.txt");
//处理C:/RowaWaWiTest
//TestTow.readFileByLines("C:/RowaWaWiTest/RowaWaWiTest.txt", "C:/RowaWaWiTest/RowaWaWiTest--Chinese.txt", "C:/RowaWaWiTest/对照文本.txt");
//处理C:\RowaWaWiTestInternational
//TestTow.readFileByLines("C:/RowaWaWiTestInternational/RowaWaWiTestInternational.txt", "C:/RowaWaWiTestInternational/RowaWaWiTestInternational--Chinese.txt", "C:/RowaWaWiTestInternational/对照文本.txt");
//处理C:\RowaXJat
//TestTow.readFileByLines("C:/RowaXJat/RowaXJat.txt", "C:/RowaXJat/RowaXJat--Chinese.txt", "C:/RowaXJat/对照文本.txt");
//处理C:\RowaShutDownViewer
TestTow.readFileByLines("C:/RowaShutDownViewer/RowaShutDownViewer.txt", "C:/RowaShutDownViewer/RowaShutDownViewer--Chinese.txt", "C:/RowaShutDownViewer/对照文本.txt");
}
/* 以行为单位读取文件,常用于读取面向行的格式化文件
* @param fileName 文件名
*/
/**
* @param fileName
*/
public static void readFileByLines(String fileName1,String fileName2,String fileName3) {
File file1 = new File(fileName1);
File file2 = new File(fileName2);
//将要写入的第三个文件
File file3 = new File(fileName3);
try {
System.out.println("以行为单位读取文件内容,一次读取一整行:");
//file1构建输入流
FileInputStream fin1 = new FileInputStream(file1);
InputStreamReader is1 = new InputStreamReader(fin1,"UTF-8");
BufferedReader reader1=new BufferedReader(is1);
//file2构建输入流
FileInputStream fin2 = new FileInputStream(file2);
InputStreamReader is2 = new InputStreamReader(fin2,"UTF-8");
BufferedReader reader2 = new BufferedReader(is2);
String tempString1 = null;
String tempString2 = null;
//构建将字节重编码的输出流
FileOutputStream fos = new FileOutputStream(file3);
OutputStreamWriter osw = new OutputStreamWriter(fos,"UTF-8");
BufferedWriter bw = new BufferedWriter(osw);
PrintWriter pw = new PrintWriter(bw);
int line = 1;
while((tempString1 = reader1.readLine()) != null
) {
tempString2 = reader2.readLine().trim();
if(tempString2.contains("&")){
int index = tempString2.indexOf("&");
char nextChar = tempString2.charAt(index+1);
if(nextChar>=65 && nextChar <=90){
StringBuffer newTemp2 = new StringBuffer();
newTemp2.append(tempString2.substring(0, index))
.append("(&"+tempString2.charAt(index+1)+")")
.append(tempString2.substring(index+1));
tempString2 = newTemp2.toString();
}
}
StringBuffer sb = new StringBuffer();
sb.append(tempString1)
//.append(":")
.append(tempString2);
//.append("["+line+"]");
// String tempStr = new String(sb.toString().getBytes(),"Unicode");
//pw.write(new String(sb.toString().getBytes(),"Unicode"));
pw.println(sb.toString());
System.out.println("line:" + line + ": " + sb.toString());
line++;
}
reader1.close();
reader2.close();
pw.close();
} catch (Exception e) {
e.printStackTrace();
}
// } finally {
// if (reader1 != null || reader2 != null) {
// try {
// reader1.close();
// reader2.close();
// //writer.close();
// } catch(IOException e1) {
// e1.printStackTrace();
// }
// }
// }
}
public static void deleteSame(String fileName,String fileName2){
File file = new File(fileName);
File file2 = new File(fileName2);
//file1构建输入流
try {
FileInputStream fin1 = new FileInputStream(file);
InputStreamReader is1 = new InputStreamReader(fin1,"UTF-8");
BufferedReader reader1=new BufferedReader(is1);
String tempString1=null;
List list = new ArrayList();
Set set = new HashSet();
while((tempString1 = reader1.readLine()) != null){
list.add(tempString1);
}
for(int i=0;i<list.size();i++){
set.add((String)list.get(i));
}
Iterator in = set.iterator();
//构建将字节重编码的输出流
FileOutputStream fos = new FileOutputStream(file2);
OutputStreamWriter osw = new OutputStreamWriter(fos,"UTF-8");
BufferedWriter bw = new BufferedWriter(osw);
PrintWriter pw = new PrintWriter(bw);
while(in.hasNext()){
pw.println(in.next());
}
reader1.close();
pw.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -