我的想法很简单:接收一个盘符例如C,将它转换为“C:\”的形式,作为第12行的参数,最后输出该盘符下的所有文件及目录,但是运行会出现一个 java.lang.NullPointerException异常,调试时filelist为null。把"C:\"作为参数直接代入到12行,就好好的。来问问大家问题出在哪里,感觉是11行把字符串转换的地方用的不适合。但是因为是在学习,还不知道什么才是正确的方式。谢谢!
给分就抠一点了,因为毕竟以后还会发帖求助,就省着点了。import java.io.*;
public class FileView
{
private char temp;
void setPath(char temp)
{
this.temp = temp;
}
void PrintList()
{
String ViewFlag = new String("\""+temp+":\"");
File path = new File(ViewFlag);
File[] filelist = path.listFiles();
for(int a=0;a<filelist.length;a++)
{
System.out.println(filelist[a].getAbsolutePath());
}
}
}
给分就抠一点了,因为毕竟以后还会发帖求助,就省着点了。import java.io.*;
public class FileView
{
private char temp;
void setPath(char temp)
{
this.temp = temp;
}
void PrintList()
{
String ViewFlag = new String("\""+temp+":\"");
File path = new File(ViewFlag);
File[] filelist = path.listFiles();
for(int a=0;a<filelist.length;a++)
{
System.out.println(filelist[a].getAbsolutePath());
}
}
}
解决方案 »
- 把字符串转换成整型
- Java怎么传引用
- 可以在Web界面显示(调用)GUI吗???
- 在IE中运行applet就自动关闭
- 求救!哪位高人帮我解答一下,关于JSP+SQL SERVER 2000的编程问题
- 请问J2EE部分如果用网页做界面的话,涉及多线程部分吗?
- 是关于IO问题(在线等)
- 关于Java-SDK“中文”文档的问题,请您一定来支持一下
- 求救!!关于帮助文件的制作?
- java 静态和非静态的一点疑问
- 为什么 char[][] a = new char[5][]合法?数组创建的时候不是要指明大小吗?
- Java ssl连接异常, Remote host closed connection during handshake
private char temp; void setPath(char temp) {
this.temp = temp;
}
void PrintList() {
temp ='c';
String ViewFlag = new String(temp+":\\");
File path = new File(ViewFlag);
File[] filelist = path.listFiles(); for (int a = 0; a < filelist.length; a++) {
System.out.println(filelist[a].getAbsolutePath());
}
}
public static void main(String[] args) {
new FileView().PrintList();
}
}
这样写,我这个是个例子,在你代码改动以下,你自己看吧
public class Test { public static void main(String[] args) {
FileView fileView = new FileView();
fileView.setTemp("C");
printList(fileView);
} private static void printList(FileView fileView) {
/*
* String ViewFlag = new String("\""+temp+":\"");
* 你这种写法相当于ViewFlag是"C:\",两头各多了一个单引号,不要加单引号
* 还有就是如果你用反斜杠的话,Java里要用"\\"
* 改成下面这种
*/
String viewFlag = new String(fileView.getTemp() + ":/");
File path = new File(viewFlag);
File[] filelist = path.listFiles();
for (int i = 0; i < filelist.length; i++)
System.out.println(filelist[i].getAbsolutePath());
}
}
class FileView {
private String temp; public String getTemp() {
return temp;
} public void setTemp(String temp) {
this.temp = temp;
}}