• Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

Gui, Чтение/запись В Файл.

  • Автор темы AlexPNZ
  • Дата начала
A

AlexPNZ

Создал Jframe приложение. Все отлично работает, но столкнулся с такой проблемой. Нужно, что бы программа, после нажатия кнопки, считывала из .txt файла число, от одного до 3-х, в зависимости от считанного числа выдавала 3 разных действия, т.е. это как условие, и изменяла его на +1 допустим. Возможно навык гугла не очень, но не нашел данную команду, какой командой это можно реализовать? Я не могу понять именно как считывать и после этого записывать в файл переменную, все остальное понятно.
ОС - Ubuntu.
NetBeans IDE 7.2.1.
 
W

Whatka

C++:
//  
BufferedReader in = new BufferedReader(new FileReader("Input.txt"));
String s;
s = in.readLine();
in.close();
PrintWriter out1 = new PrintWriter(
new BufferedWriter(new FileWriter("Input.txt"))
);
out1.print(s);
out1.close();
//
 
A

AlexPNZ

C++:
//  
BufferedReader in = new BufferedReader(new FileReader("Input.txt"));
String s;
s = in.readLine();
in.close();
PrintWriter out1 = new PrintWriter(
new BufferedWriter(new FileWriter("Input.txt"))
);
out1.print(s);
out1.close();
//
unreported exce[tion FileNotFoundException; must be caught or declared to be thrown.
Его как то прикрепить надо к проекту? или достаточно просто указать путь к файлу? Если просто указать, то //home//alex//123.txt или через ординарный?
 
W

Whatka

файл должен быть в той же папке,где и папка src
 
A

AlexPNZ

Перенес, но осталась та же ошибка. При клике на нее выдает две подсказки. Окружить оператор выражения true-catch или окружить блок этими же выражениями.
Причем эта же ошибка возникает и на in.readLine и на in.close. В обычном проекте все работает, а вот когда пытаюсь вставить в кнопку, что бы действие выполнялось при нажатии кнопки, выдает ошибки. А можно сделать так, что бы сам код программы выполнялся перед кодом кнопок и уже разрешал ему выполняться или не разрешал допустим?
C++:
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.lang.String;
import java.util.logging.Level;
import java.util.logging.Logger;



private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {										 
// TODO add your handling code here:




BufferedReader iu = new BufferedReader (new FileReader ("123.txt"));
String ki;
ki = iu.readLine();
iu.close();
 
W

Whatka

просто обработай исключение))

(твоя функция)
C++:
//
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) 
{										 
// TODO add your handling code here:

try
{


BufferedReader iu = new BufferedReader (new FileReader ("123.txt"));
String ki;
ki = iu.readLine();
iu.close();
//...
}
catch(FileNotFoundException fnfe)
{
ki="no file";//например,сам сделай как надо)
}
}
//
 
A

AlexPNZ

Вот что написал. Но теперь опять исключение. Только IOException. в ReadLine, close и в printwrite.
Теперь мне получается нужно добавлять вложенные исключения для каждого из них? Но когда для каждого добавляю, пишет, что переменные не инициализированны..Я явно чего то не понимаю.
C++:
try 
{
BufferedReader iu = new BufferedReader (new FileReader ("/home/alex/NetBeansProjects/OClab4.2/123.txt"));
String ki, yi = null, qq = "1", qw = "2", qe = "3";
ki = iu.readLine();
iu.close();
int tm, s = 0;
if (ki.equals(qq)) {tm=1; yi="2";}
if (ki.equals(qw)) {tm=1; yi="3";} 
if (ki.equals(qe)) {tm=1; yi="4";} 
if (ki.equals("4")) {tm=0; yi="4";} 
PrintWriter out1 = new PrintWriter (new BufferedWriter(new FileWriter("/home/alex/NetBeansProjects/OClab4.2/123.txt")));
out1.print(yi);
out1.close();}
catch (FileNotFoundException fnfe)
{int a; a=25;}
 
W

Whatka

нет добавь полсе первого блока catch
сразу второй
cath(IOException ioe)
{
//что-то что-то
}

или после объявления параметров функции throws IOException
 
A

AlexPNZ

нет добавь полсе первого блока catch
сразу второй
cath(IOException ioe)
{
//что-то что-то
}

или после объявления параметров функции throws IOException
Нельзя мне ни плюсики ставить, ни в личку писать. Спасибо огромное, эта штука заработала =))
 
W

Whatka

ничего страшного)
обращайся)а то по Java совсем мало тем
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!