Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Java программирование > Общие вопросы по Java, Java SE, Kotlin
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.09.2011, 10:05   #1
rogvald
 
Регистрация: 09.05.2010
Сообщений: 8
По умолчанию вывод в файл типа Object

Не могу адекватно вывести переменные, типа Object в файл. Перед самой переменной, появляется ересь. Как ее убрать?
Суть кода. Есть три параметра. Директория, слово и имя файла для вывода. Мы в директории ищем файлы, а в них ищем это слово(подстроку) в строке. Вывод на экран и в файл. В файл вывести не получается.
Вот сам код:
Цитата:

import java.io.*;
import java.util.Scanner;




public class FileSearch{
public static String str;
public static String dir;
public static String NameFile;
/**
* @param args
* @return
* @throws IOException
* @throws ClassNotFoundException
*/



public static void main(String[] args) throws IOException, ClassNotFoundException {
// TODO Auto-generated method stub


if (args.length < 1)
{
System.out.println("Error. No args");
System.exit(0);
}
if (args.length > 3)
{
System.out.println("Error. Many args");
System.exit(0);
}

dir = args[0];
NameFile = args[2];
str = args[1];

File Fdir;
Fdir = new File(dir);
if (!Fdir.exists())
{
System.out.println("Error. Dir " + dir + "is not found");
System.exit(0);
}



File f0;
f0 = new File(NameFile);
if(!f0.exists()){
f0.createNewFile();
System.out.println("New File " +NameFile+ "has been created" );
}


//BufferedWriter out = new BufferedWriter(new FileWriter(NameFile));

FileOutputStream fos = new FileOutputStream(NameFile);
ObjectOutputStream out = new ObjectOutputStream(fos);

System.out.println(dir + " " + NameFile + " " + str);
File folder = new File(dir);

Object NameFiles[] = new Object[1000];
int i = 0;
for (File f : folder.listFiles())
{
NameFiles[i] = f;
i++;
}
int point = i;
i=0;


String s;
int pointer;

for (i = 0; i<point ;i++)
{
Scanner scan = new Scanner(new FileReader((File)NameFiles[i]));
System.out.println(NameFiles[i]);
////////////////

out.writeBytes(NameFiles[i]+"\n");

/////////////////////////

while(scan.hasNext())
{
s = scan.next();

pointer = s.indexOf (str);
if (pointer != -1)
{
System.out.println("s = "+s);
/////////////////
out.writeObject("s = " +s+ "\n");

}
}
System.out.println("------------");
out.writeObject("++++++++++\n");
///////////

}
out.close();

}
}
Уже вопрос отпал

Последний раз редактировалось rogvald; 18.09.2011 в 18:12.
rogvald вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как записать object, содержащий WideString в файл? Lex_Liven Lazarus, Free Pascal, CodeTyphon 24 01.06.2011 20:23
Изменить начение типа OBJECT на странице куценко Работа с сетью в Delphi 1 12.08.2009 22:08
Нужен вывод сообщения на экран: ну типа создать файл? Максим-2 Общие вопросы Delphi 7 28.07.2007 14:45