BBABBAMedlem sedan feb. 2000280 inlägg Frågan#1 hej
detta försöker jag åstadkomma:
1. Öppna en fil
2. Skriva till en ny fil.
3. Byta namn på den nya filen till det namn som den första filen hade.
Det går inget bra för jag får inte renameTo() att funka. Min kod
import java.io.*;
class fixer {
public static void main(String[] args) {
String filename = args[0];
try {
File inputFile = new File(filename);
File outputFile = new File(filename);
FileInputStream fis = new FileInputStream(inputFile);
FileOutputStream fos = new FileOutputStream(outputFile);
int c;
while (((c = fis.read()) != -1)) {
if(c!=13){
if(c==10) fos.write(13);
fos.write(c);
}
}
fis.close();
fos.close();
} catch (FileNotFoundException e) {
System.err.println("FileStreamsTest: " + e);
} catch (IOException e) {
System.err.println("FileStreamsTest: " + e);
}
}
}
Det är mkt fullhackat det hela men jag behöver hjälp med renameTo/delete delen i koden. Jag vill alltså bara ha kvar en modifierad version av filen.
ViktorMedlem sedan aug. 20021 752 inläggDenna kod fungerar för mig
import java.io.*;
class fixer
{
public static void main(String[] args)
{
try
{
File inputFile= new File("c:\\temp\\Test1.txt");
File outputFile= new File("c:\\temp\\Test2.txt");
FileInputStream fis= new FileInputStream(inputFile);
FileOutputStream fos= new FileOutputStream(outputFile);
int c;
while (((c= fis.read()) != -1))
{
if (c!=13)
{
if(c==10)
fos.write(13);
fos.write(c);
}
}
fis.close();
fos.close();
inputFile.delete();
outputFile.renameTo(inputFile);
}
catch (FileNotFoundException e)
{
System.err.println("FileStreamsTest: " + e);
}
catch (IOException e)
{
System.err.println("FileStreamsTest: " + e);
}
}
}