我相对较新的Java,似乎无法弄清楚什么是错的,我调查了这个问题,即使我按照它的教程,我仍然似乎无法使它工作,它看到文件,因为它当我尝试打开实际上不存在的文件时出现不同的错误,但它无法从数据库中获取变量
我的代码:
String userEnteredString = UserEntered.getText();
String userHomeLocal = Tutschedule.userHome;
FileReader dataFile = null;
try {
dataFile = new FileReader(userHomeLocal+"/Users/"+userEnteredString+".data");
} catch (FileNotFoundException ex) {
Logger.getLogger(LoginForm.class.getName()).log(Level.SEVERE, null, ex);
}
String dbData = dataFile.toString();
System.out.println(dbData);
JSONObject dataInfo = (JSONObject)dbData.parse(dataFile);
以下是我的进口商品:
import java.io.*;
import java.util.Iterator;
//import java.io.FileNotFoundException;
import org.json.*;
//import java.io.FileReader;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.json.simple.parser.*;
并且这是写入数据库的部分,我确信问题不在这里,因为它写得很好,因为我检查了它创建的数据库及其在那里(将用户发送到登录表单的行不是那时我想创建一个用户):
public class Tutschedule {
// TODO Add the MySQL Database Support
public static String userHome;
/**
* @param args the command line arguments
*/
public static void main(String[] args) throws JSONException {
boolean loggedIn = false;
if (loggedIn != true) {
LoginForm.LoginForm();
}
userHome = System.getProperty("user.home")+"/TutSchedule";
System.out.print(userHome);
Scanner scan = new Scanner(System.in);
String username = scan.next();
String password = scan.next();
JSONObject user = new JSONObject();
user.put("username", username);
user.put("password", password);
boolean dirCreate;
String directories =userHome+"/Users";
dirCreate = (new File(directories)).mkdirs();
try {
FileWriter userDataFile = new FileWriter(userHome+"/Users/"+username+".data");
userDataFile.write(user.toString());
userDataFile.flush();
userDataFile.close();
} catch (IOException e) {
e.printStackTrace();
}
System.out.print(user);
}
}
答案 0 :(得分:0)
我怀疑你可能需要改变这个
JSONObject dataInfo = (JSONObject)dbData.parse(dataFile);
到
JSONObject dataInfo = (JSONObject)JSONValue.parse(dataFile);
因为dbData是一个String而且没有parse()方法。