JSP - Datei einlesen

java007

Bekanntes Mitglied
Hallo Zusammen,

ich versuche in einer jsp-datei eine txt-datei einzulesen und zwar folgendermaßen:

Java:
<h:outputLabel value="index">
<%
	String s = null;
	StringBuffer datei = new StringBuffer();
	try {
		 BufferedReader in = new BufferedReader(new FileReader("index.txt"));
		while ((s = in.readLine()) != null) {
			 datei.append(in.readLine()+ System.getProperty("line.separator"));
		}
		in.close();
		} 
		catch (Exception e) {
			System.out.print(e);						}
%>
</h:outputLabel>

leider bekomme ich diese fehlermeldung:
java.io.FileNotFoundException: index.txt (Das System kann die angegebene Datei nicht finden)
Die text-datei befindet sich im WebContent.
Gibt es auch eine Möglichkeit mit Hilfe von jsp/jsp-tags Datein einzulesen oder geht es nur mit java-codes wie oben?

mfg
 
Zuletzt bearbeitet:

Stroker89

Bekanntes Mitglied
Les die Datei doch mit einem Servlet und übergib dein Ergebnis an die JSP.

Korrigiert mich wenn ich falsch liege :)

Gruß
 
Zuletzt bearbeitet:
M

maki

Gast
Meiner Meinung nach kann das auch nicht funktionieren. Da die JSP ja auf dem Client ausgeführt wird und ich nicht glaube dass sich Dateien aus relativen Pfaden Auslesen kann.
Les die datei doch mit einem Servlet und übergib dein Ergebnis an die JSP.

Korrigiert mich wenn ich falsch liege :)
Wenn du darauf bestehst :)

JSPs werden nicht beim Client ausgeführt, JSPs sind Servlets in anderer Darstellung.

Der TS gibt wohl einen falschen Pfad an, aber die Idee mit dem Servlet gefällt mir :)
 

java007

Bekanntes Mitglied
Moin Moin :)
nun ich habe mir gedacht eine text-datei einzulesen und über outputlable auf der seite darzustellen. Wäre dieser Gedankengang überhaupt möglich, sowie ich es oben gemacht habe? Habt Ihr vlt vorschläge wie mans besser machen könnte. Würde mich auf eure vorschläge sehr freuen :)
@Stroker89: ich stelle mir das so vor, dass die seite auf dem server erst einmal aufgebaut wird und im anschluss der client es zu gesicht bekommt. Bitte korrigiert mich falls ich was durcheinander bringe :D
mfg
 
Zuletzt bearbeitet:

Stroker89

Bekanntes Mitglied
Ja die Definition von Maki trifft zu :)

Wie schon gesagt würde ich das Ganze über ein Servlet realisieren.

Du wirst die Seite, auf der du dein Ergebnis darstellen möchtest, ja irgendwie aufrufen. Das würde ich zuerst über ein Servlet machen dort deine txt Datei einlesen dein Ergebnis entweder im Servlet über den response ausgeben oder den Request mit dem Ergebnis füllen und dann in einer JSP ausgeben lassen. So hast du schonmal Logik und Darstellung getrennt solltest du Variante 2 wählen :)

Gruß
 

ARadauer

Top Contributor
Meiner Meinung nach kann das auch nicht funktionieren. Da die JSP ja auf dem Client ausgeführt wird und ich nicht glaube dass sich Dateien aus relativen Pfaden Auslesen kann.
Les die datei doch mit einem Servlet und übergib dein Ergebnis an die JSP.

Korrigiert mich wenn ich falsch liege :)

Gruß

Sorry das ich das jetzt so hart sage: Aber wenn man überhaupt keien Ahnung hat sollte man in diesem Bereich keine Tipps geben....
 

Stroker89

Bekanntes Mitglied
Wenn´s dich so stört editiere ich den Post.

Entschuldigung dass man nicht alles wissen kann und ich noch recht neu bin in dem Thema. Zum Glück gibt es noch User wie Maki...
 
Zuletzt bearbeitet:

java007

Bekanntes Mitglied
Also hier nochmal der gesamte code. Eigentlich sehr simple was ich versuche. Ich starte die index.jsp, auf der zwei buttons dargestellt werden und zwar einmal "go-" und "reset-button". go hat die funktionalität dass activity auf false gesetzt wird, sodass bei der überprüfung <h:panelGroup rendered="#{userBean.activity!=true}"> diese Bedingung erfüllt wird und der Rest nun auch durchgeführt wird, was beim Start nicht der Fall ist. reset ist dafür gedacht activity wieder auf true zu setzen. wenn ich nun auf go klicke, funktioniert genau das nicht, was ich möchte. ich erhalte FileNotFoundException. ;(

@Adenauer: ich finde deine bemerkung äußerst sinnlos. haben denn heutzutage nur leute das recht sich zu einem thema zu äußern wenn sie denn ein thema zu 100% beherrschen können? stroker89 hat dazu seine meinung gesagt, mit der bemerkung dass er sich nicht sicher sei. dabei hat ihm maik aufgeklärt und er weiß nun mehr über das thema. was ist dabei nun kritikwürdig ? tut mir leid aber auch wenns hart klingt, solche blöden äußerungen haben hier erst recht nichts verloren.

Java:
<%@page import="mainP.UserBean"%>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<%@ page import="java.io.BufferedReader"%>
<%@ page import="java.io.FileReader"%>
<%@ taglib prefix="f" uri="http://java.sun.com/jsf/core"%>
<%@ taglib prefix="h" uri="http://java.sun.com/jsf/html"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<f:view>
Hello World!

<h:form>
<h:panelGrid columns="2">
<h:commandButton value="go" action="#{userBean.igo}" />
<h:commandButton value="reset" action="#{userBean.reset}" />
</h:panelGrid>
<h:panelGroup rendered="#{userBean.activity!=true}">
<h:outputLabel value="My Person">
<%
	String s = null;
	StringBuffer datei = new StringBuffer();
try {
	BufferedReader in = new BufferedReader(new FileReader("index.txt"));
	while ((s = in.readLine()) != null) {
		datei.append(in.readLine()+ System.getProperty("line.separator"));
	}
										in.close();
	} 
	catch (Exception e) {	
                               System.out.print(e);
	}
%>
</h:outputLabel>
</h:panelGroup>
</h:form>
</f:view>
</body>
</html>
 

Stroker89

Bekanntes Mitglied
In was für einem Verzeichnis liegt denn deine txt File? Fest steht ja, dass sie nicht gefunden werden kann. Probier doch mal den absoluten Pfad anzugeben :). Hatte das selbe Problem bei einem Servlet mit dem ich Bilder hochlade.
 

ARadauer

Top Contributor
haben denn heutzutage nur leute das recht sich zu einem thema zu äußern wenn sie denn ein thema zu 100% beherrschen können? stroker89 hat dazu seine meinung gesagt, mit der bemerkung dass er sich nicht sicher sei.

Ja ich weiß das meine Aussage sehr grenzwertig. Aber es geht hier nicht um 100%iges Wissen! Das ist etwas sehr sehr grundlegends...
Wenn ich sage jsp wird am client ausgeführt, könnte ich genauso in ein mathematik forum gehen und sagen PI ist 4...


Aber egal, noch ein kleiner Tipp von mir. close nach Möglichkeit im finally mache, damit wird es immer ausgeführt...
Java:
BufferedReader in;
      try {
         in = new BufferedReader(new FileReader("index.txt"));
         while ((s = in.readLine()) != null) {
            datei.append(in.readLine() + System.getProperty("line.separator"));
         }         
      } catch (Exception e) {
         System.out.print(e);
      }finally{
         if(in != null)
            in.close();
      }
 

Stroker89

Bekanntes Mitglied
Hab das ganze auch ein bisschen verwechselt. Natürlich ist mir bewusst, dass Javacode in JSP Files natürlich nicht vom Client ausgeführt wird. Hatte damit eigentlich den HTML Code gemeint, denn der wird ja vom Browser auf Client Seite interpretiert und ausgegeben.

Dafür bin ich jetzt auch um Einiges schlauer.

Gruß
 

java007

Bekanntes Mitglied
@Adenauer: habe deine verbesserung eingepflegt danke
Also ich habe es jetzt geschafft die Datei einzulesen und den inhalt auszugeben allerdings über die Konsole :D wie bekomme ich den text auf die Page? ich habe den code in den outputLabel eingebettet mit der hoffnung diese als outputLaber auszugeben :)

Java:
<h:outputLabel value="index">
<%
String s = null; 
StringBuffer datei = new StringBuffer();
BufferedReader br = null;
try {
br = new BufferedReader( new FileReader("C:\\index.txt"));
Scanner in = new Scanner(br);
ArrayList<String> outt = new ArrayList<String>();
while (in.hasNext()) {								       outt.add(in.next());
}
for (int i = 1; i <= outt.size(); i++) {
System.out.println("Wort" + i + ": "+ outt.get(i - 1));
}
} catch (Exception e) {
System.out.print(e);
} finally {
if (br != null) {
br.close();
}			
}
%>
</h:outputLabel>
 
Zuletzt bearbeitet:

ARadauer

Top Contributor
Ich glaube nur out.println("usw"); müsste gehen... bin mir aber nicht mehr sicher... das geht auch..
Java:
<%
String s = null; 
StringBuffer datei = new StringBuffer();
BufferedReader br = null;
try {
br = new BufferedReader( new FileReader("C:\\index.txt"));
Scanner in = new Scanner(br);
ArrayList<String> outt = new ArrayList<String>();
while (in.hasNext()) {                                     outt.add(in.next());
}
for (int i = 1; i <= outt.size(); i++) {
%>

<%="Wort" + i + ": "+ outt.get(i - 1) %>

<%
}
} catch (Exception e) {
System.out.print(e);
} finally {
if (br != null) {
br.close();
}           
}
%>

nichi Adenauer: Andreas Radauer, aber egal, wurde hier schon öfter so genannt ;-)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
E Spring FileNotFoundException obwohl Datei da ist Web Tier 5
D jar datei Web Tier 12
S JSF Eine XHTML-Datei in zwei andere XHTML integrieren Web Tier 0
F JSP jSP Datei mit normalem Java Programm auslesen? Web Tier 5
S xhtml Datei & Webspace Web Tier 8
R JSF Bilder aus CSS Datei werden nicht angezeigt. Web Tier 2
M log4j2 - RollingFile Datei bleibt leer Web Tier 1
V Name und Pfad der Datei in JSF Web Tier 0
K Internationalisierung über Properties Datei Web Tier 6
M JSF JSP, Facelets und einbinden einer js-Datei Web Tier 2
H XML Datei mit Formular eingaben Füllen JSP Web Tier 7
H Relativer Pfad für XML-Datei in JSP-Anwendung Web Tier 3
Rudolf Servlet Zur Laufzeit generierte Datei zum Herunterladen anbieten Web Tier 2
S JSP Erzeugten JSP HTML-Quelltext in html-Datei speichern Web Tier 4
H Servet Datei schreiben Web Tier 6
G Deploy und undeploy - wie kann meine WAR Datei das mitbekommen? Web Tier 2
J Servlet Manuelles Rendern einer JSF Datei Web Tier 4
C JSP Datensatz mit JSP aus XML-Datei löschen Web Tier 6
A Wie in JSP lokale Datei verarbeiten? Web Tier 8
N Problem mit Datei Streaming Web Tier 2
S Lesender Zugriff auf Datei im Webprojekt Web Tier 2
E Servlet zum speichern einer Datei in einer Datenbank Web Tier 3
I Tomcat aktualisiert CSS - Datei nur ab und zu Web Tier 4
L Unter JSP eine XML Datei erstellen Web Tier 3
J Doppeltes und-Zeichen in JSF Datei Web Tier 4
I Export in eine CSV - Datei und PDF Web Tier 5
G Externe Bibliotheken in war-Datei angeben Web Tier 8
F Log4J Konfiguration in .war Datei Web Tier 4
U access denied bei Datei Schreiben mit Java unter Linux trotz gesetzter Rechte Web Tier 2
M Datei öffnen aus JSF-Anwendung Web Tier 3
O relativer Pfad zu properties Datei Web Tier 8
M JSF: Parameterübergabe an Properties-Datei aus JSF-Tag heraus? Web Tier 4
F IE stellt tif-Datei kryptisch dar Web Tier 3
F Datei von bean aus laden Web Tier 3
G Tomcat findet angeblich die Datei nicht. Web Tier 8
M Generierte Datei an Browser senden Web Tier 8
R Datei aus Servlet öffnen Web Tier 18
F [servelt] datei lesen? Web Tier 5
N GWT - Textdatei uploaden, einlesen und verarbeiten Web Tier 5
X Textdatei einlesen JSP Web Tier 2
J Servlet soll XML ausgeben und Javascript soll dieses einlesen Web Tier 3
R File Einlesen mit jsp/servlets Web Tier 11
S sprachunabhängige Properties einlesen Web Tier 4
R Array oder Listen einlesen mit JSF über javaserverpage Web Tier 2

Ähnliche Java Themen

Neue Themen


Oben