wie schreibt man String Content in IFile zurück?

Wurzelseppi

Mitglied
Hallo zusammen,

ich habe folgenden Code, welcher mir den Inhalt aus einer FileResource in Eclipse auslesen soll, dort was ändert, und später wieder reinschreibt und abspeichert.

Code:
		StringBuffer fContents = new StringBuffer();
		StringBufferInputStream sbis_fContent = null;

		InputStreamReader isr = null;

		try {

			isr = new InputStreamReader(file.getContents());
			int c;
			while ((c = isr.read()) != -1) {
				fContents.append((char) c);
			}

			String strContents = fContents.toString();

			

			sbis_fContent = new StringBufferInputStream(strContents);

			file.setContents(sbis_fContent, true, true, null);
			
			
		} finally {
			if (isr != null)
				isr.close();

			if (sbis_fContent != null)
				sbis_fContent.close();
			
		}

der StringBufferInputStream ist aber deprecated. Wie kann ich es den sonst noch machen?

Vielen Dank für Antwort.

Gruß,

Wurzelseppi
 
Hallo!

So gings auch:
Java:
...
IFile file = (IFile)structuredSelection.getFirstElement();
        System.out.println(file);
        try {
            StringBuilder stringBuilder = new StringBuilder();
            Scanner scanner = new Scanner(file.getContents());
            while(scanner.hasNextLine()){
                stringBuilder.append(scanner.nextLine()+"\n");
            }
            scanner.close();
            stringBuilder.append("YXZ\n");
            try {
                file.setContents(new ByteArrayInputStream(stringBuilder.toString().getBytes("UTF-8")),true,true,null);
            } catch (UnsupportedEncodingException e) {
                e.printStackTrace();
            }
        } catch (CoreException e) {
            e.printStackTrace();
        }
...

Gruß Tom
 

Neue Beiträge

Zurück