0

我对 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); 
}
}
4

1 回答 1

0

我怀疑你可能需要改变这个

JSONObject dataInfo = (JSONObject)dbData.parse(dataFile); 

JSONObject dataInfo = (JSONObject)JSONValue.parse(dataFile); 

因为 dbData 是一个字符串并且没有 parse() 方法。

于 2012-11-16T17:59:22.463 回答