我正在尝试将数组列表字符串列表写入文件。arraylist字符串实际上是从twitter转换而来的字符串,我正在尝试将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,但是它也不起作用。
发布于 2014-03-26 11:08:48
获得NullPoineterException的唯一方法是文本为null,因此在编写它之前验证您想要写的内容。
for (String tweet: list) {
if(tweet != null || !tweet.equals("")) {
writer.write(tweet);
}
}发布于 2014-03-26 11:04:48
似乎你的推特对象之一是空的。这就是问题所在。
发布于 2014-03-26 11:05:00
String tweet似乎是空的,所以我会检查您的Tweet.getText()方法,以确保它永远不会返回null。
https://stackoverflow.com/questions/22658883
复制相似问题