Форум программистов, компьютерный форум, киберфорум
Java
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
 Аватар для kestugar
9 / 9 / 6
Регистрация: 15.05.2010
Сообщений: 184

Разработать программу для работы с файлами (чтение, запись).

13.09.2011, 21:10. Показов 1915. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Разработать программу для работы с файлами (чтение, запись).
В верхнем поле (textFieldControl1) вводится каталог, например C:\, после нажатия "Enter" в поле choiceControl1 показываются все файлы в этом каталоге.
Файлы в каталоге показывает верно. Единственное, что открывает только те файлы которые находятся на самом диске (C:\ , D:\, и т. д.), а в остальных каталогах не открывает, например C:\users.
Заранее спасибо.

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
package File;
 
import java.awt.*;
import java.awt.event.*;
import borland.jbcl.control.*;
import borland.jbcl.layout.*;
import java.io.*;
import java.util.*;
 
public class Frame1 extends DecoratedFrame {
 
  //Construct the frame
  BorderLayout borderLayout1 = new BorderLayout();
  XYLayout xYLayout2 = new XYLayout();
  BevelPanel bevelPanel1 = new BevelPanel();
  ButtonControl buttonControl1 = new ButtonControl();
  ButtonControl buttonControl2 = new ButtonControl();
  ChoiceControl choiceControl1 = new ChoiceControl();
  ChoiceControl choiceControl2 = new ChoiceControl();
  TextAreaControl textAreaControl1 = new TextAreaControl();
  int len1, len2;
  String str, str1, str2, FileName1, FileName2;
  byte[] buf1, buf2 = new byte[512];
  LabelControl labelControl1 = new LabelControl();
  TextFieldControl textFieldControl1 = new TextFieldControl();
 
  public Frame1() {
    try  {
      jbInit();
    }
    catch (Exception e) {
      e.printStackTrace();
    }
  }
//Component initialization
 
  private void jbInit() throws Exception  {
    this.setLayout(borderLayout1);
    this.setSize(new Dimension(325, 304));
    this.setTitle("Frame Title");
    buttonControl1.setLabel("Open");
    buttonControl1.addMouseListener(new java.awt.event.MouseAdapter() {
      public void mouseClicked(MouseEvent e) {
        buttonControl1_mouseClicked(e);
      }
    });
    buttonControl2.setLabel("Save");
    buttonControl2.addMouseListener(new java.awt.event.MouseAdapter() {
      public void mouseClicked(MouseEvent e) {
        buttonControl2_mouseClicked(e);
      }
    });
 
    labelControl1.setText("Enter path");
    textFieldControl1.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(ActionEvent e) {
        textFieldControl1_actionPerformed(e);
      }
    });
    bevelPanel1.setLayout(xYLayout2);
    this.add(bevelPanel1, BorderLayout.CENTER);
    bevelPanel1.add(buttonControl1, new XYConstraints(258, 44, 47, -1));
    bevelPanel1.add(buttonControl2, new XYConstraints(257, 241, 47, -1));
    bevelPanel1.add(choiceControl1, new XYConstraints(11, 44, 237, -1));
    bevelPanel1.add(choiceControl2, new XYConstraints(8, 242, 237, -1));
    bevelPanel1.add(textAreaControl1, new XYConstraints(10, 78, 237, 149));
    bevelPanel1.add(labelControl1, new XYConstraints(13, 8, 65, 20));
    bevelPanel1.add(textFieldControl1, new XYConstraints(109, 7, 188, 22));
  }
 
  void buttonControl1_mouseClicked(MouseEvent e) {
    FileName1=(textFieldControl1.getText() + choiceControl1.getSelectedItem()); //имя файла из choiseControl1
    try{
    File f = new File(FileName1); //открытие файла
    char[] data = new char[(int) f.length()]; //создание массива символов файла
    BufferedReader inFile = new BufferedReader(new FileReader(FileName1)); //открытие потока чтения файла
    inFile.read(data); //чтение из файла в массив
    str1 = new String(data); //перевод массива в строку
    textAreaControl1.setText(str1); //перевод строки в textAreaContrl1
    }
    catch(Exception ioe){}
  }
 
  void buttonControl2_mouseClicked(MouseEvent e) {
    FileName2=choiceControl2.getSelectedItem(); //имя файла из choiseControl2
    try{
      str2 = textAreaControl1.getText(); //перевод в строку значения textAreaControl1
      FileOutputStream outFile = new FileOutputStream(FileName2); //открытие потока записи в файл
      buf2 = str2.getBytes(); //перевод строки в байтовый буфер
      outFile.write(buf2); //отправка содержимого буфера в выходной поток
      outFile.close(); //закрытие потока
      textAreaControl1.setText(""); //очистка поля textAreaControl1
    }
    catch(Exception ioe){}
  }
 
  void textFieldControl1_actionPerformed(ActionEvent e) {
    try
    {      
      choiceControl1.removeAll();
      String list[] = new File(textFieldControl1.getText()).list();
      for(int i = 0; i < list.length; i++)
      {
      choiceControl1.addItem(list[i]);
      }
      choiceControl1.setLocation(14,63);
    }
    catch (Exception ioe) {
 
    choiceControl1.setLocation(14,63);
 
    }
  }
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
13.09.2011, 21:10
Ответы с готовыми решениями:

Библиотека функций для работы с файлами: открытие, закрытие, запись, чтение
Необходимо написать библиотеку для работы с файлами. Помогите пожалуйста. Язык программирования - Си

Разработать программу для работы с типизированными файлами
Составить текст программы, позволяющей: – вводить с клавиатуры данные о товарах на складе (название товара, цена, поступило, продано,...

Разработать программу, содержащую 2 функции для работы с текстовыми файлами
1)Задать имя файла: ввод с клавиатуры; строковая константа в программе. 2)Вариант цепочки операций над данными: ввод с клавиатуры и...

8
636 / 528 / 165
Регистрация: 01.04.2010
Сообщений: 1,843
14.09.2011, 10:37
kestugar, приведи запускающийся код без использования нестандартных библиотек. Тогда, глядишь, и подскажет кто-то чего-то.
0
Эксперт JavaЭксперт С++
 Аватар для M128K145
8384 / 3617 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
14.09.2011, 12:17
aleksandy, библиотеки вполне стандартные для этой IDE, просто приложение разрабатывается в JBuilder

kestugar, в чем выражается
Цитата Сообщение от kestugar Посмотреть сообщение
открывает только те файлы которые находятся на самом диске (C:\ , D:\, и т. д.), а в остальных каталогах не открывает, например C:\users.
?
0
 Аватар для kestugar
9 / 9 / 6
Регистрация: 15.05.2010
Сообщений: 184
14.09.2011, 21:07  [ТС]
Если выбираю файл с разрешением .txt с любого локального диска или с флэшки, то он показывает его содержимое в поле textAreaControl1.
Если выбираю файл из любого другого каталога (D:\file, C:\users, D:\опа\Учеба и т. д.) то при нажатии на клавишу "open" (buttonControl1) в поле textAreaControl1 ничего не появляется - в нем не показывается содержимое файла
0
Эксперт JavaЭксперт С++
 Аватар для M128K145
8384 / 3617 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
14.09.2011, 22:11
kestugar, а что говорит дебаггер при попытке открытия?
Перепишите 94 строку так:
Java
1
2
3
catch(Exception ioe) {
    ioe.printStackTrace(System.out);
}
и попробуйте открыть файл
0
636 / 528 / 165
Регистрация: 01.04.2010
Сообщений: 1,843
15.09.2011, 08:42
Цитата Сообщение от M128K145 Посмотреть сообщение
aleksandy, библиотеки вполне стандартные для этой IDE, просто приложение разрабатывается в JBuilder
Вот именно, что для этой IDE. У меня, например, её нет, как я могу запустить приложение и посмотреть, что не работает и где?
0
 Аватар для kestugar
9 / 9 / 6
Регистрация: 15.05.2010
Сообщений: 184
17.09.2011, 20:00  [ТС]
Цитата Сообщение от M128K145 Посмотреть сообщение
Перепишите 94 строку так:
Код Java(TM) 2 Platform Standard Edition 5.01
2
3 catch(Exception ioe) {
ioe.printStackTrace(System.out);
}
и попробуйте открыть файл
Попробовал -не помогло(

Цитата Сообщение от M128K145 Посмотреть сообщение
kestugar, а что говорит дебаггер при попытке открытия?
вот что показывает дебаггер: (поставил отметку дебаггера на 72 строке, где FileName1=...)
Миниатюры
Разработать программу для работы с файлами (чтение, запись).  
0
Эксперт JavaЭксперт С++
 Аватар для M128K145
8384 / 3617 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
17.09.2011, 20:07
Цитата Сообщение от kestugar Посмотреть сообщение
Попробовал -не помогло(
он и не должен был помочь, вы бы код читали
Он просто выплевывает в консоль стектрейс эксепшена, если он был брошен.
Поставьте брейкпоинт на строке
Java
1
ioe.printStackTrace(System.out);
и повторите открытие файла. Если вы остановитесь на этом брейкпоинте - содержание эксепшена в студию
1
 Аватар для kestugar
9 / 9 / 6
Регистрация: 15.05.2010
Сообщений: 184
17.09.2011, 20:35  [ТС]
Я нашел проблему. Я просто забывал в конце пути ставить "слэш".
Всем спасибо за внимание и извините, что отнял у вас время из-за своей невнимательности.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
17.09.2011, 20:35
Помогаю со студенческими работами здесь

Разработать программу реализующую чтение и запись в типизированный файл
Здраствуйте . Начал писать и в самом начале возникла проблема. Написана только одна функция . Нужно записать структуру в типизированный...

Написать программу для работы в магазине торгующем телефонами. Для работы с данными использовать структуру типа ' запись '
Ребята помогите сделать 1. Написать программу для работы в магазине торгующем телефонами. Для работы с данными использовать структуру...

Написать программу для работы с файлами
нужно напсиать программу которая из 1 и 2 текстового файла берет упорядоченные по возрастанию файлы и записывает их в 3 файл + выводит на...

Доделать программу для работы с файлами
Функция &quot;zadacha1&quot; должна находить в файле аутпут соседние числа с противоположными знаками, но не работает с нулями(например: если стоит 0...

Разработать программу для работы с БД «Наряд»
Разработать программу для работы с БД «Наряд», включающую следующую информацию: шифр наряда, дата( год, месяц, число), номер цеха, код...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru