代碼實現讀取到的內容正常換行,並將內容復制到系統剪貼板當中去。
public static void ReadAlart()
{
try {
String encoding="utf-8";
File file=new File("Alart.txt");
if(file.isFile() && file.exists()){ //判斷文件是否存在
InputStreamReader read = new InputStreamReader(
new FileInputStream(file),encoding);//考慮到編碼格式
BufferedReader bufferedReader = new BufferedReader(read);
String lineTxt = "";
String AlartTxt="";
while((lineTxt = bufferedReader.readLine()) != null){
lineTxt+='\n';
AlartTxt+=lineTxt;
}
//System.out.println(AlartTxt);
Clipboard sysClip = Toolkit.getDefaultToolkit().getSystemClipboard();
Transferable text = new StringSelection(AlartTxt);
sysClip.setContents(text, null);
read.close();
}else{
System.out.println("找不到指定的文件");
}
} catch (Exception e) {
System.out.println("讀取文件內容出錯");
e.printStackTrace();
}
}
Java:bufferedReader.readLine()讀取文件換行問題
FileInputStream來讀取,完全沒有問題,他是讀取字節形式的,所以讀到中文字符的時候,字節流就會出現亂碼,所以必去用要字符流來讀取,在用FileInputStream讀取文件是用他里面read()方法來讀取的,是一口氣直接全部讀完的,就會留下原來文件換行的腳印,但是用BufferedReader來讀取是用readLine()來讀取的,意思是一行一行的來讀取,這樣當讀到回車符的時候,就先返回給字符串,然后再進行下一行的讀取!