मैं स्प्रिंग बूट का उपयोग करके अपने सर्वर में एक साधारण मैनुअल कैशिंग सिस्टम बनाने की कोशिश कर रहा हूं। इसे सफल करने के लिए, मैंने दो अलग-अलग फाइलें लिखीं, जिनमें से एक कैशिंग टाइम के लिए और दूसरी डेटा है। मैंने पहले अनुरोध पर लिखने की योजना बनाई और 5 मिनट में अन्य अनुरोध फ़ाइल से कॉल करेंगे।
समस्या यह है कि प्रवाह मेरे स्थानीयहोस्ट में सही ढंग से काम कर रहा है, लेकिन जब मैं अपना कोड तैनात करता हूं, तो स्प्रिंग बूट एक नई फाइल नहीं बना सकता है और इसे निश्चित रूप से पढ़ सकता है।
कोड नीचे की तरह मेरे लेखन और पठन हैं।
@Override
public void writeFile( String folder, String path, String data ) throws IOException {
File file = new File( folder );
if ( !file.exists() ) {
if ( file.mkdir() ) {
System.out.println( "Directory is created!" );
} else {
System.out.println( "Failed to create directory!" );
}
}
BufferedWriter writer = new BufferedWriter( new FileWriter( path ) );
writer.write( data );
writer.flush();
writer.close();
}
@Override
public String readFile( File file ) {
BufferedReader reader = null;
StringBuilder buffer = new StringBuilder();
try {
reader = new BufferedReader( new FileReader( file ) );
String text;
while ( ( text = reader.readLine() ) != null ) {
buffer.append( text );
}
} catch ( IOException e ) {
e.printStackTrace();
} finally {
try {
if ( reader != null ) {
reader.close();
}
} catch ( IOException e ) {
e.printStackTrace();
}
}
return buffer.toString();
}
जब मैं लोकलहोस्ट में राइट फाइल मेथड को कॉल करता हूं, तो यह जरूरी फाइल्स और फोल्डर बना रहा होता है। नीचे दी गई तस्वीर में, यह lastsavedtime.txt और Readerlist.json बना रहा है।
और readFile विधि फ़ाइलों को सफलतापूर्वक पढ़ती है। वही प्रक्रिया सर्वर पर काम नहीं कर रही है।
स्प्रिंग बूट संस्करण: 2.0.5। Azure वेब ऐप को सर्वर के रूप में रिलीज़ करें।
मदद के लिए शुक्रिया।
1 उत्तर
टिप्पणी के बारे में अनुपूरक नोट्स।
@RequestMapping(value="/newFile", method=RequestMethod.GET)
public String newFile(String folder, String path, String data){
// File file = new File("D:/home/site/wwwroot/testfile");
File file = new File( folder );
file.mkdirs();
try {
// BufferedWriter writer = new BufferedWriter( new FileWriter("D:/home/site/wwwroot/testfile/cout.txt") );
BufferedWriter writer = new BufferedWriter( new FileWriter( path ) );
writer.write( data );
writer.flush();
writer.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return "hello world";
}
संबंधित सवाल
नए सवाल
java
जावा एक उच्च स्तरीय प्रोग्रामिंग भाषा है। इस टैग का उपयोग तब करें जब आपको भाषा का उपयोग करने या समझने में समस्या हो। इस टैग का उपयोग शायद ही कभी किया जाता है और इसका उपयोग अक्सर [वसंत], [वसंत-बूट], [जकार्ता-ई], [Android], [javafx], [हडूप], [श्रेणी] और [मावेन] के साथ किया जाता है।