Ich bin mir nicht sicher ob das hier richtig ist, aber ich frag trotzdem mal. Ich hab ein Servlet, das sich aus drei auf dem Server liegenden Dateien jeweils die benötigten Infos zur Verbindung mit einer Datenbank holen soll. Soweit so gut, es funzt auch alles, nur dass 2 (die ersten beiden) BufferedReader beim Auslesen mit readLine() auf einer Leerzeile (\n) am Anfang der Datei bestehen, der dritte aber nicht. Ich würd nur gern wissen ob das jemand kennt, und warum sich das so verhält.
Wenn da jemand was weiß, wär ich erfreut es auch zu wissen.
Gruß pebcak
[/code]
Code:
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class DatenbankVerbindung extends HttpServlet
{
private Db_Connector dB_connector = Db_Connector.getInstance();
String treiber = "";
String adminName = "";
String adminPwd = "";
String path_treiber = "";
String path_dBName = "";
String path_admin = "";
String []datenBank = {"","",""};
String []admin = {"",""};
int count = 0;
public void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
PrintWriter out = response.getWriter();
response.setContentType("text/html");
try
{
ServletContext context= getServletContext();
path_treiber = context.getRealPath("/WEB-INF/src/pebcak/Treiber.txt");
File file1 = new File(path_treiber);
BufferedReader treiberDatei = new BufferedReader(new FileReader(file1));
path_dBName = context.getRealPath("/WEB-INF/src/pebcak/DatenbankName.txt");
File file2 = new File(path_dBName);
BufferedReader dbNameDatei = new BufferedReader(new FileReader(file2));
path_admin = context.getRealPath("/WEB-INF/src/pebcak/Admin.txt");
File file3 = new File(path_admin);
BufferedReader adminInfo = new BufferedReader(new FileReader(file3));
try
{
if (((treiber = treiberDatei.readLine())== null)||((datenBank[0] = dbNameDatei.readLine())== null))
{
keineDatenBank(out);
}
else
{
treiber = treiberDatei.readLine(); //wenn hier keine Leerzeile am anfang wird die Zeile nicht ausgelesen
treiberDatei.close();
for(count = 0; count < 3; count ++)
{
datenBank[count] = dbNameDatei.readLine(); //wenn hier keine Leerzeile am anfang wird die Zeile nicht ausgelesen
}
dbNameDatei.close();
for(count = 0; count < 2; count ++)
{
admin[count] = adminInfo.readLine(); // Hier allerdings gehts
}
adminInfo.close();
}
catch(IOException ie)
{
System.out.println("Fehler1");
}
}
catch(FileNotFoundException fnfe)
{
System.out.println("Fehler2");
}
}
}
Wenn da jemand was weiß, wär ich erfreut es auch zu wissen.
Gruß pebcak
[/code]