String Total="";
String Temp="";
JFileChooser filechoose=new JFileChooser();
filechoose.setFileFilter(new TxtFilter());
panel.PaintMyPanel(Temp);
int result=filechoose.showOpenDialog(MyInterface.this);
try
{
if(result==JFileChooser.APPROVE_OPTION)
{
FileName=filechoose.getSelectedFile().getPath();//将文件名保存到FileName成员变量中。
//FileInputStream fileinput=new FileInputStream(FileName);
//DataInputStream din=new DataInputStream(fileinput);
File file = new File(FileName);
FileReader fi=new FileReader(file);//文件字符流
BufferedReader fin=new BufferedReader(fi);//字符流缓冲
Temp=fin.readLine();
while(Temp!=null)
{
temp=din.readLine();
// panel.revalidate();
}
}
catch( IOException e)
{
}上面代码为什么一执行就卡死,貌似出现异常
String Temp="";
JFileChooser filechoose=new JFileChooser();
filechoose.setFileFilter(new TxtFilter());
panel.PaintMyPanel(Temp);
int result=filechoose.showOpenDialog(MyInterface.this);
try
{
if(result==JFileChooser.APPROVE_OPTION)
{
FileName=filechoose.getSelectedFile().getPath();//将文件名保存到FileName成员变量中。
//FileInputStream fileinput=new FileInputStream(FileName);
//DataInputStream din=new DataInputStream(fileinput);
File file = new File(FileName);
FileReader fi=new FileReader(file);//文件字符流
BufferedReader fin=new BufferedReader(fi);//字符流缓冲
Temp=fin.readLine();
while(Temp!=null)
{
temp=din.readLine();
// panel.revalidate();
}
}
catch( IOException e)
{
}上面代码为什么一执行就卡死,貌似出现异常
方案1: File file = new File(FileName);
FileReader fi=new FileReader(file);//文件字符流
BufferedReader fin=new BufferedReader(fi);//字符流缓冲
Temp=fin.readLine();
while(Temp!=null)
{
Total+=temp;
temp=fin.readLine();
}方案2:
FileInputStream fileinput=new FileInputStream(FileName);
DataInputStream din=new DataInputStream(fileinput);
Temp=din.readLine();
while(Temp!=null)
{
Total+=temp;
temp=din.readLine();
}
你这么写
while(true){
Temp=fin.readLine();
if(Temp==null) break;
//然后再进行你要的处理
}
{
temp=din.readLine();
// panel.revalidate();
}
这里出现死循环。
temp=fin.readLine();
FileName=filechoose.getSelectedFile().getPath();//将文件名保存到FileName成员变量中。
File file = new File(FileName);
FileReader fi=new FileReader(file);//文件字符流
BufferedReader fin=new BufferedReader(fi);//字符流缓冲
fin.toString();
Temp=fin.readLine();
while(Temp!=null)
{
Total+=Temp;
Temp=fin.readLine();
}
[code=Java]
MyPanel.textarea.setText(Total);
panel.revalidate();//面板重绘
FileName=filechoose.getSelectedFile().getPath();//将文件名保存到FileName成员变量中。
FileOutputStream fileoutput=new FileOutputStream(FileName);
String temp="";
DataOutputStream dout=new DataOutputStream(fileoutput);
dout.writeChars(MyPanel.textarea.getText()); [/code]
现在问题是:可以将写的英文字符保存,但是用记事本打开文件可以看到每个英文字母前面都有一个空格,然后再将刚才保存得文件用程序打开,可以看到每个英文字母前面的空格变成了小方格;再一个就是不能打开中文文档,否则程序当死。