2015-11-19 5 views
-1
import java.util.Scanner; 
import java.io.FileInputStream; 
import java.io.PrintWriter; 
import java.io.FileOutputStream; 
import java.io.FileNotFoundException; 
public class Exercise4 
{ 
String name = null; 
public String nameInitials(String sentence) 
{ 
PrintWriter outputStream = null; 
try 
{ 
    outputStream = new PrintWriter(new FileOutputStream("abc.txt.")); 
    outputStream.println(sentence); 
} 
catch (FileNotFoundException e) 
{ 
    System.out.println("File not found."); 
    System.exit(0); 
} 
outputStream.close(); 
Scanner inputStream = null; 
try 
{ 
    inputStream = new Scanner(new FileInputStream("abc.txt.")); 
} 
catch (FileNotFoundException e) 
{ 
    System.out.println("File not found."); 
    System.exit(0); 
} 
do 
{ 
    String word = inputStream.next(); 
    char initial = word.charAt(0); 
    name = initial+"."+name; 
} while (inputStream.hasNext()); 
return name; 
} 
public void main(String[]args) 
{ 
String initials = nameInitials("Bertrand Arthur William Russell"); 
System.out.println(initials); 
} 
} 

Напишите метод под названием nameInitials, который принимает один аргумент String как относящийся к полному имени человека и возвращает строку инициалов имени. Пример использования,не может создать txt-файл

String initials = nameInitials("Bertrand Arthur William Russell"); 
System.out.println(initials); //should print B.A.W.R. 

Я пытаюсь сохранить полное имя в txt-файле и прочитать файл. Но я не знаю, почему я не могу создать файл abc.txt в папке.

+2

Почему вы дали имя файла в качестве abc.txt. ??? попробуйте использовать abc.txt – Shivam

+2

Всегда добавляйте полученную ошибку. – Manu

+0

не забывайте, если вы хотите, вы можете принять мой ответ. Удачи – Abdelhak

ответ

0

Это может исправить свою ошибку, я проверил его

import java.util.Scanner; 
import java.io.FileInputStream; 
import java.io.PrintWriter; 
import java.io.FileOutputStream; 
import java.io.FileNotFoundException; 
public class Exercise4 
{ 
    static String name = null; 

public static String nameInitials(String sentence) { 
    PrintWriter outputStream = null; 
    try { 
     outputStream = new PrintWriter(new FileOutputStream("C:\\temp\\abc.txt")); 
     outputStream.println(sentence); 
    } catch (FileNotFoundException e) { 
     System.out.println("File not found."); 
     System.exit(0); 
    } 
    outputStream.close(); 
    Scanner inputStream = null; 
    try { 
     inputStream = new Scanner(new FileInputStream("C:\\temp\\abc.txt")); 
    } catch (FileNotFoundException e) { 
     System.out.println("File not found."); 
     System.exit(0); 
    } 
    do { 
     String word = inputStream.next(); 
     char initial = word.charAt(0); 
     name = initial + "." + name; 
    } while (inputStream.hasNext()); 
    return name; 
} 

public static void main(String[] args) { 
    String initials = nameInitials("Bertrand Arthur William Russell"); 
    System.out.println(initials); 
} 
} 

путь файла не должен закончиться в .txt. просто .txt

+0

Я скомпилирую его, и я обнаружил, что выход - R.W.A.B.null. Как удалить слово null? – Chriseagles

+0

change: static String name = null; с static String name = ""; – Abdelhak

+0

Это работает. Спасибо вам всем! – Chriseagles

0

Ваш код идеально подходит для создания файла «abc.txt.» на уровне проекта. Если вы хотите создать файл с именем abc.txt, тогда вы должны изменить;

new FileOutputStream("abc.txt.") в new FileOutputStream("abc.txt")

и

new FileInputStream("abc.txt.") в new FileInputStream("abc.txt")

И если вы хотите создать файл в определенной директории, то обеспечить полный путь к этой директории с именем файла, который вы хотите Создайте.

для системы ubuntu;

new FileOutputStream("/home/java/abc.txt") 

&

new FileInputStream("/home/java/abc.txt") 

и окна системы;

new FileOutputStream("C:/java/abc.txt") 

&

new FileInputStream("C:/java/abc.txt") 
Смежные вопросы