최근에 프로젝트를 개발할 때 문제가 발생했습니다. Myecilpes에서 Googlede Gson을 사용하여 프로젝트의 JSON 파일을 성공적으로 읽은 다음 프로젝트를 Tomcat에 게시 한 다음 동일한 방법을 사용했습니다. "시스템이 지정된 경로를 찾을 수 없습니다"라는 메시지가 표시됩니다.
파일을 src/config/아래에 배치합니다.
JSONPARSER PARSER = NEW JSONPARSER (); jsonObject Object = (jsonObject) parser.parse (new Filereader ( "config/test.json"));
많은 기사를 검색 한 후, 나는 서버에 게시 한 후 파일의 상대 경로를 찾을 수 없으므로 Tomcat의 WebApps에서 프로젝트 테스트를 찾기 위해 절대 경로 만 사용할 수 있다는 문제가 문제가되어야한다는 것을 알았습니다.
길은입니다
d :/program files/tomcat 8.0/webapps/test/web-inf/classs/test.json
읽기 경로를 수정 한 후 JSON 파일을 읽을 수 있습니다. 다음은 별도의 Java 클래스에서 절대 경로를 얻는 방법입니다. 폴더에 공백이 있기 때문에 변경된 공간의 공간 부분을 교체했습니다.
문자열 path = jsonutil.class.getClassLoader (). getResource ( "/test.json"). getPath (). replace ( "%20", ""); JSONPARSER PARSER = NEW JSONPARSER (); jsonObject Object = (jsonObject) parser.parse (New Filereader (PATH));
그러나 이러한 방식으로 읽은 내용은 차별화됩니다. 그 이유는 시스템 인코딩 형식이 컴파일러의 인코딩 형식과 일치하지 않기 때문에 스트리밍을 사용하여 파일을 대신 읽었 기 때문일 수 있습니다.
import java.io.file; import java.io.fileinputStream; import java.io.filenotfoundException; import java.io.filereader; import java.io.ioexception; import java.io.inputStreamreader; import java.io.reader; import java.util.arraylist; com.google.gson.jsonarray; import com.google.gson.jsonioexception; import com.google.gson.jsonobject; import com.google.gson.jsonparser; import com.google.gson.jsonsyntaxexception;/** * @author lk */public class jsonutil {/** * json file and get the json file and get the json worge jsonturn {/** * */ public static string getJsonstring () {String Path = jsonutil.class.getClassLoader (). getResource ( "/ test.json"). getPath (). replace ( "%20", ""); 파일 = 새 파일 (Path); try {filereader filereader = new Filereader (파일); Reader Reader = new InputStreamReader (New FileInputStream (파일), "UTF-8"); int ch = 0; StringBuffer sb = new StringBuffer (); while ((ch = reader.read ())! = -1) {sb.append ((char) ch); } filereader.close (); reader.close (); 문자열 jsonstring = sb.tostring (); jsonstring을 반환합니다. } catch (ioexception e) {e.printstacktrace (); 널 리턴; }}}그런 다음 얻은 JSON 형식 문자열을 구문 분석하십시오
String jsonstring = jsonutil.getJsonstring (); jsonparser parser = new JsonParser (); jsonObject Object = (jsonObject) parser.parse (jsonstring);
이렇게하면 올바른 jsonobject를 얻을 수 있습니다
위의 기사는 Javaweb가 로컬 JSON 파일과 차량 코드를 읽는 문제를 해결합니다. 이것은 내가 당신과 공유하는 모든 콘텐츠입니다. 나는 당신이 당신에게 참조를 줄 수 있기를 바랍니다. 그리고 당신이 wulin.com을 더 지원할 수 있기를 바랍니다.