在java中将文件名存储在整数变量中

在java中将文件名存储在整数变量中,java,numberformatexception,Java,Numberformatexception,我有一个文件夹,里面有文件,文件名是110045、56789449等整数。文件包含文本值。我想将文件名存储为键,将其内容存储为树映射中的值。但它给出了数字格式例外: public void ReadDir()throws Exception{ Map<Integer,List<String>> tweet = new TreeMap<Integer,List<String>>(); File dr = new File

我有一个文件夹,里面有文件,文件名是110045、56789449等整数。文件包含文本值。我想将文件名存储为键,将其内容存储为树映射中的值。但它给出了数字格式例外:

public  void ReadDir()throws Exception{

  Map<Integer,List<String>> tweet = new TreeMap<Integer,List<String>>();         
  File dr = new File("/home/abc/NetBeansProjects/cleantweet");

  if(dr.isDirectory()){
    String dirlist[] = dr.list();
    int nfiles= dirlist.length;
    System.out.print("no 0f user tweet files   "+ nfiles +"\n");

    for(int i =0;i<nfiles;i++){
      tw.assignVal(dirlist[i]);
    }
}

public void assignVal(String filename) throws Exception {
    FileReader fr1 = new FileReader("/home/abc/NetBeansProjects/cleantweet/"+filename);
    BufferedReader br1 = new BufferedReader(fr1);
    String str="";
    while ((str = br1.readLine()) != null) {
      assignment.put(str,rand.nextInt(topics-1)+1);
      recsys.tweet.put(Integer.parseInt(filename),list);// this line gives error
    }
}
public void ReadDir()引发异常{
Map tweet=newtreemap();
File dr=新文件(“/home/abc/NetBeansProjects/cleantweet”);
if(dr.isDirectory()){
字符串dirlist[]=dr.list();
int nfiles=dirlist.length;
System.out.print(“没有用户tweet文件”+nfiles+“\n”);

对于(int i=0;i您应该检查文件名是否过长,因此对于该数字,整数将变小

您应该检查文件名是否过长,对于该数字,整数将变小

您应该检查文件名是否过长,对于该数字,整数将变小

您应该检查文件名是否过长太长,因此对于该数字而言,整数太小

您的输入可能都是数字,但如果等效数字超出32位有符号整数的范围,则会出现此错误

您的输入必须在
-2147483648
2147483647
的范围内


如果您的值大于这些值,请尝试使用
Long
解析64位带符号
Long

您的输入可能都是数字,但如果等效数字超出32位带符号整数的范围,则会出现此错误

您的输入必须在
-2147483648
2147483647
的范围内


如果您的值大于这些值,请尝试使用
Long
解析64位带符号
Long

您的输入可能都是数字,但如果等效数字超出32位带符号整数的范围,则会出现此错误

您的输入必须在
-2147483648
2147483647
的范围内


如果您的值大于这些值,请尝试使用
Long
解析64位带符号
Long

您的输入可能都是数字,但如果等效数字超出32位带符号整数的范围,则会出现此错误

您的输入必须在
-2147483648
2147483647
的范围内


如果您的值大于这些值,请尝试使用
Long
解析64位带符号的
Long

我认为
文件名
为102.txt 因此,请尝试以下代码:

try {
 recsys.tweet.put(Integer.parseInt(filename.substring(0, filename.length - 4)),list);
} catch ( NumberFormatException nfe ) {
 System.out.println("This is not an integer: \"" + filename + "\".");
} 
if(dr.isDirectory() && !dr.isHidden()){
}
如果仍然有错误,可能是因为数量太多。 因此,您可以使用:

recsys.tweet.put(Long.parseLong(filename.substring(0, filename.length - 4)),list);
//or use BigInteger
recsys.tweet.put(new BigInteger(filename.substring(0, filename.length - 4)),list);
您还可以读取包含字符的隐藏文件,因此需要使用以下代码:

try {
 recsys.tweet.put(Integer.parseInt(filename.substring(0, filename.length - 4)),list);
} catch ( NumberFormatException nfe ) {
 System.out.println("This is not an integer: \"" + filename + "\".");
} 
if(dr.isDirectory() && !dr.isHidden()){
}

我认为
filename
是102.txt 因此,请尝试以下代码:

try {
 recsys.tweet.put(Integer.parseInt(filename.substring(0, filename.length - 4)),list);
} catch ( NumberFormatException nfe ) {
 System.out.println("This is not an integer: \"" + filename + "\".");
} 
if(dr.isDirectory() && !dr.isHidden()){
}
如果仍然有错误,可能是因为数量太多。 因此,您可以使用:

recsys.tweet.put(Long.parseLong(filename.substring(0, filename.length - 4)),list);
//or use BigInteger
recsys.tweet.put(new BigInteger(filename.substring(0, filename.length - 4)),list);
您还可以读取包含字符的隐藏文件,因此需要使用以下代码:

try {
 recsys.tweet.put(Integer.parseInt(filename.substring(0, filename.length - 4)),list);
} catch ( NumberFormatException nfe ) {
 System.out.println("This is not an integer: \"" + filename + "\".");
} 
if(dr.isDirectory() && !dr.isHidden()){
}

我认为
filename
是102.txt 因此,请尝试以下代码:

try {
 recsys.tweet.put(Integer.parseInt(filename.substring(0, filename.length - 4)),list);
} catch ( NumberFormatException nfe ) {
 System.out.println("This is not an integer: \"" + filename + "\".");
} 
if(dr.isDirectory() && !dr.isHidden()){
}
如果仍然有错误,可能是因为数量太多。 因此,您可以使用:

recsys.tweet.put(Long.parseLong(filename.substring(0, filename.length - 4)),list);
//or use BigInteger
recsys.tweet.put(new BigInteger(filename.substring(0, filename.length - 4)),list);
您还可以读取包含字符的隐藏文件,因此需要使用以下代码:

try {
 recsys.tweet.put(Integer.parseInt(filename.substring(0, filename.length - 4)),list);
} catch ( NumberFormatException nfe ) {
 System.out.println("This is not an integer: \"" + filename + "\".");
} 
if(dr.isDirectory() && !dr.isHidden()){
}

我认为
filename
是102.txt 因此,请尝试以下代码:

try {
 recsys.tweet.put(Integer.parseInt(filename.substring(0, filename.length - 4)),list);
} catch ( NumberFormatException nfe ) {
 System.out.println("This is not an integer: \"" + filename + "\".");
} 
if(dr.isDirectory() && !dr.isHidden()){
}
如果仍然有错误,可能是因为数量太多。 因此,您可以使用:

recsys.tweet.put(Long.parseLong(filename.substring(0, filename.length - 4)),list);
//or use BigInteger
recsys.tweet.put(new BigInteger(filename.substring(0, filename.length - 4)),list);
您还可以读取包含字符的隐藏文件,因此需要使用以下代码:

try {
 recsys.tweet.put(Integer.parseInt(filename.substring(0, filename.length - 4)),list);
} catch ( NumberFormatException nfe ) {
 System.out.println("This is not an integer: \"" + filename + "\".");
} 
if(dr.isDirectory() && !dr.isHidden()){
}


表示您的
filename
包含数字以外的内容(例如空格)。您应该调试“filename”的确切内容。可能其中有非数字字符(例如空格或文件扩展名)。您应该详细说明您的错误。这是编译时错误吗?NullPointerException?没有文件名只是整数。没有非数字字符。请注意该目录中的“隐藏”文件。“”或“.”可能会在那里找到,具体取决于您的系统或某些“.”之类的内容s、 表示您的
filename
包含数字以外的内容(例如空格)。您应该调试“filename”的确切内容。可能其中有非数字字符(例如空格或文件扩展名)。您应该详细说明您的错误。这是编译时错误吗?NullPointerException?没有文件名只是整数。没有非数字字符。请注意该目录中的“隐藏”文件。“”或“.”可能会在那里找到,具体取决于您的系统或某些“.”之类的内容s、 表示您的
filename
包含数字以外的内容(例如空格)。您应该调试“filename”的确切内容。可能其中有非数字字符(例如空格或文件扩展名)。您应该详细说明您的错误。这是编译时错误吗?NullPointerException?没有文件名只是整数。没有非数字字符。请注意该目录中的“隐藏”文件。“”或“.”可能会在那里找到,具体取决于您的系统或某些“.”之类的内容s、 表示您的
filename
包含数字以外的内容(例如空格)。您应该调试“filename”的确切内容。可能其中有非数字字符(例如空格或文件扩展名)。您应该详细说明您的错误。这是编译时错误吗?NullPointerException?没有文件名只是整数。没有非数字字符。请注意该目录中的“隐藏”文件。“”或“.”可能会在那里找到,具体取决于您的系统或某些“.”之类的内容s、 如果这些整数是Twitter的推特ID,这可能就是原因。如果这些整数是Twitter的推特ID,这可能就是原因。如果这些整数是Twitter的推特ID,这可能就是原因。如果这些整数是Twitter的推特ID,这可能就是原因。