代码之家  ›  专栏  ›  技术社区  ›  fuschia

将ArrayList字符串写入文件时出错

  •  0
  • fuschia  · 技术社区  · 12 年前

    我正在尝试将数组列表字符串列表写入文件。arraylist字符串实际上是从twitter JSON转换而来的字符串,我正在尝试将tweet文本写入文件中。

    然而,我一直收到这个错误:

    Exception in thread "main" java.lang.NullPointerException
        at java.io.Writer.write(Unknown Source)
        at kr.ac.uos.datamining.test.main(test.java:32)
    

    整个类的代码如下:

        package kr.ac.uos.datamining;
    
        import java.io.File; 
        import java.io.FileNotFoundException; 
        import java.io.*;
        import java.sql.Connection;
        import java.sql.DriverManager;
        import java.sql.PreparedStatement;
        import java.sql.SQLException;
        import java.util.ArrayList;
        import java.util.List;
    
        import kr.ac.uos.datamining.JSONParser; 
        import kr.ac.uos.datamining.Tweet; 
        import kr.ac.uos.datamining.User;
    
        public class test {
    
        public static List <String> list = new ArrayList<String>();
    
        public static void main(String[] args) throws IOException, FileNotFoundException, InterruptedException, SQLException {
    
            JSONParser j = new JSONParser(new File("D:/curl-7.32.0/samsunggalaxy-01-23-2014.txt"));
            ArrayList<Tweet> tweets = j.getTweets();
    
            for(Tweet tweet : tweets){
                list.add(tweet.getText());
            }
    
            FileWriter writer = new FileWriter("D:/samsunggalaxy.txt");
            for (String tweet: list) {
    Line 32   writer.write(tweet);
            }
            writer.close();   
        }
        }
    

    既然它被称为“未知来源”,那么它是 String tweet: list 线 我试着把它改成 String str: list 但它也不起作用

    3 回复  |  直到 12 年前
        1
  •  0
  •   Salah    12 年前

    唯一的办法就是 NullPoineterException 你的文本是空的,所以在写之前先验证你想写什么。

    for (String tweet: list) {
        if(tweet != null || !tweet.equals("")) {
            writer.write(tweet);
        }
    }
    
        2
  •  0
  •   peter.petrov    12 年前

    你的一个推文对象似乎为空。这就是这里的问题。

        3
  •  0
  •   Pablo Lozano    12 年前

    看起来 String tweet 为空,所以我会检查 Tweet.getText() 方法,以确保它永远不会返回null。