[求助]关于如何打开文件
public void jMenuItem2_actionPerformed(ActionEvent e) {
jFileChooser1.showOpenDialog(this);
String lujing=(String)(FileChooser1.getSelectedFile());
}
我想把选中的文本文件显示在我自己写的记事本中,我现在先是调用系统的打开对话框,之后用什么方法能够同时得到选中文件的路径和文件名呢
请高手指点,我实在没有思路了,谢谢
----------------解决方案--------------------------------------------------------
File类 中不是有这些方法吗?
getPath() getName()
getAbsolutePath()绝对路径```
[此贴子已经被作者于2007-7-24 10:44:42编辑过]
----------------解决方案--------------------------------------------------------
问题解决了,谢谢帮助
----------------解决方案--------------------------------------------------------
又出现了点新问题
public void jMenuItem2_actionPerformed(ActionEvent e) {
jFileChooser1.showOpenDialog(this);
String temp=jFileChooser1.getSelectedFile().getPath();
String lujing=temp.replace('\','/');
}
由于系统返回的是windows格式的路径,我想把路径中的'\'换成'/',但'\'好像是关键字符,提示我错误,我要想达到目的该怎么办呢?
----------------解决方案--------------------------------------------------------
你用的不是windows系统吗?
"\\"这样就表示一个反斜杠
----------------解决方案--------------------------------------------------------
问题已经基本解决了 我走了个弯路 下面的代码是我要实现的事 可还是有点问题
public void jMenuItem2_actionPerformed(ActionEvent e) {
jFileChooser1.showOpenDialog(this);
try{
File file=new File(jFileChooser1.getSelectedFile().getPath());
FileReader fr=new FileReader(file);
BufferedReader br=new BufferedReader(fr);
String line=br.readLine();
while(line!=null){
txaNote.setText(line);
line=br.readLine();
}
br.close();
fr.close();
}catch(Exception ce){
ce.printStackTrace();
}
}
以上是我写的记事本的一个片断,请问为什么我不能将文本文件的内容显示到文本区域呢
----------------解决方案--------------------------------------------------------
文本区什么都没有吗?还是只有一行?
----------------解决方案--------------------------------------------------------
只能得到一个空格 不过现在搞定了
下面的代码是正确的了
public void jMenuItem2_actionPerformed(ActionEvent e) {
jFileChooser1.showOpenDialog(this); //调用打开对话框
try{
//创建文件实例并得到选定文件的绝对路径及文件名
File file=new File(jFileChooser1.getSelectedFile().getPath());
FileReader fr=new FileReader(file);
BufferedReader br=new BufferedReader(fr);//创建缓冲区实例
StringBuffer sb=new StringBuffer(); //用于拼接文本文件的所有内容
String line=br.readLine(); //读取第一行的所有内容并将其赋给line
while(line!=null){ //只要正在读取的行有数据便进行循环
sb.append(line+"\n"); //这里加一个“\n”是因为readLine()的时候会把换行符"\n"忽略掉
line=br.readLine(); //读取下一行数据
}
txaNote.setText(sb.toString()); //记事本的文本区域将显示读到的所有内容
br.close(); //关闭缓冲区
fr.close(); //关闭文件
}catch(Exception ce){
ce.printStackTrace();
}
}
----------------解决方案--------------------------------------------------------