Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > путь к файлу


Автор: LAKERS 7.3.2006, 16:08
указал путь к файлу в команде ftp.put("c:\my.txt"), пишет что неправильно, \\ - то же неправильно...
как все таки правильно? / и // то же не воспринимает...

Автор: Beard 7.3.2006, 16:10
А что за объект такой - ftp?
И что конкретно пишет?
Можно весь код?

Автор: GIK 7.3.2006, 16:11
Цитата

указал путь к файлу в команде ftp.put("c:\my.txt")

Это в каком месте ты так указываешь?

Автор: Beard 7.3.2006, 16:16
Вот на такую строку
Код

"c:\\my.txt"

компилятор не должен ругаться

Автор: allex 7.3.2006, 16:30
Может, он url хочет? file:///C:/my.txt

Автор: Sleepy_PIP 7.3.2006, 18:28
Цитата(LAKERS @ 7.3.2006, 16:08)
указал путь к файлу в команде ftp.put("c:\my.txt"), пишет что неправильно, \\ - то же неправильно...
как все таки правильно? / и // то же не воспринимает...

для
org.apache.commons.net.ftp.FTPClient;

к примеру можно так:
Код

FTPClient lftp = new FTPClient();

lftp.setDataTimeout(30000);
lftp.connect("ftp.aaa.ru");
lftp.login("***", "***");
lftp.setFileType(FTP.BINARY_FILE_TYPE);
lftp.enterLocalPassiveMode();
InputStream input;

input = new FileInputStream("c:\\crack.zip");

lftp.storeFile("aaaa.aaa", input);
lftp.logout();



для
org.apache.commons.vfs
можно так:
Код

        final FileSystemManager mgr = VFS.getManager();

        FileObject ftpFile = mgr.resolveFile("ftp://***:****@ftp.aaaa.ru");

        FileObject ch[]=ftpFile.getChildren();
        final FileObject src = mgr.resolveFile("c:\\crack.zip");

        FileObject dest = mgr.resolveFile(ftpFile, "aaaa.aaa");

        if (dest.exists() && dest.getType() == FileType.FOLDER)
        {
            dest = dest.resolveFile(src.getName().getBaseName());
        }
        dest.copyFrom(src, Selectors.SELECT_ALL);


для
com.sshtools.j2ssh.*

можно например так
Код

        ConfigurationLoader.initialize(false);
        SshClient ssh = new SshClient();

        ssh.connect("ftp.aaaaa.ru");
        PasswordAuthenticationClient pwd = new PasswordAuthenticationClient();
        pwd.setUsername("***");
        pwd.setPassword("****");

        int result = ssh.authenticate(pwd);
        if (result == AuthenticationProtocolState.COMPLETE)
        {


        SftpClient sftp = ssh.openSftpClient();
        sftp.put("c:\\crack.zip", "aaaa.aaa");
        }



вот. выпендрился так сказать smile

или я не о том?

Автор: LAKERS 7.3.2006, 18:48
да, компилятор не ругается, но почему-то по этой команде он файл не отправляет на сервер, если я указываю просто файл не с локальной машины, то он записывает на сервер под этим именем пустой файл, а если я на указываю путь к файлу на локалке, то он не пишет на сервак...

to
SLEEPY PIP:
использую import sun.net.ftp.*;
Добавлено @ 18:52
пишу

Код

FTPClient ftp = new FTPClient();

ftp.openServer("192.168.123.231");
ftp.login("Администратор", "22222");
ftp.put("c:\\my.txt");

Добавлено @ 18:53
если вот так, то нулевой файл записывает, а если как сверху, то не хочет писать нивкакую....
Код

ftp.put("my.txt");

Автор: powerOn 7.3.2006, 22:00
Цитата

пишу


код Java
1:
2:
3:
4:
5:
FTPClient ftp = new FTPClient();
ftp.openServer("192.168.123.231");
ftp.login("Администратор", "22222");
ftp.put("c:\\my.txt");

Добавлено @ 18:53
если вот так, то нулевой файл записывает, а если как сверху, то не хочет писать нивкакую....

код Java
1:
ftp.put("my.txt");


А ты действительно можешь прямо в корень С:\ писать файлы? Может нужно другой контекст указать??

Автор: LSD 8.3.2006, 00:03
1. Проверь что ты правильно указал путь к файлу:
Код
File file = new File("C:\\my.txt");
if(file.exists())
{
  FtpClient ftpClient = new FtpClient();
  ftpClient.openServer("192.168.123.231");
  ftpClient.login("Администратор", "22222");
  ftpClient.put("c:\\my.txt");
}


2. Попробуй считать файл с сервера и установи бинарный режим передачи файлов.

Автор: LAKERS 8.3.2006, 13:37
Цитата(MoonCat @ 7.3.2006, 22:00 Найти цитируемый пост)
А ты действительно можешь прямо в корень С:\ писать файлы? Может нужно другой контекст указать??

писать в корень могу, но ("c:\\my.txt"); - это я предполагаю что беру со своего компа файл и отправляю на сервер без разницы куда, можно и в корень...

Автор: LAKERS 9.3.2006, 13:34
закинул я пакет sun.net.ftp, на сайте сановском написано что ошибка какая-то в этом пакете, не буду его трогать, скачал пакет org.apache.commons
указал путь, вписал import org.apache.commons.net.*;
но выдает ошибку, ожидается типа 45 версия чего-то там, а не 46...
может кто подскажет?


Код


D:\1\jdk\demo>javac HttpNetworking.java
error: Invalid class file format: D:\1\jdk\bin\..\lib\classes.zip(org/apache/com
mons/net/ftp/FTPClient.class), wrong version: 46, expected 45
HttpNetworking.java:35: Class org.apache.commons.net.ftp.FTPClient not found in
type declaration.
FTPClient ftp = new FTPClient();
^
HttpNetworking.java:35: Class org.apache.commons.net.ftp.FTPClient not found in
type declaration.
FTPClient ftp = new FTPClient();
                    ^
3 errors

D:\1\jdk\demo>

Автор: LSD 9.3.2006, 18:58
Цитата(LAKERS @ 9.3.2006, 13:34 Найти цитируемый пост)
но выдает ошибку, ожидается типа 45 версия чего-то там, а не 46...
может кто подскажет?

У тебя старая версия JDK. Или обнови JDK, или скачай исходники и пересобери под свою версию JDK.

Автор: LAKERS 9.3.2006, 21:20
у меня на КПК стоит машина PersonalJava, настолько я помню, она работает с JDK не выше JDK 1.1.8, и как это пересобрать для своей версии JDK?

Автор: Beard 9.3.2006, 21:24
Берешь исходники здесь: http://archive.apache.org/dist/jakarta/commons/net/old/v1.0.0/commons-net-1.0.0-src.zip
Собираешь их ant-ом (build.xml имеется в архиве)
Добавлено @ 21:26
Да - там еще и project.xml есть, так что можно попробовать собрать и
первым Maven-ом, но не советую smile

Автор: LAKERS 9.3.2006, 22:36
а пошаговую инструкцию по сборке и дальнейшем пользовании можно? smile

Автор: LSD 9.3.2006, 22:47
По поводу ANT почитай http://vingrad.ru/JAVA-JAV-002976 (build.xml у тебя уже есть).
Скачать JDK 1.1.8 для PC, можно http://java.sun.com/products/archive/jdk/1.1/.

Автор: Beard 10.3.2006, 00:51
Нужно (если пользовать ant):
1. Скачать исходники commons-net (ссылка выше). Пусть распакованы в c:\libs\commons-net-1.0.0
2. Скачать ant (например, 1.1 - http://archive.apache.org/dist/ant/binaries/jakarta-ant-1.3.zip - работает на JDK 1.1) . И, соответственно, распаковать в какую-нибудь директорию (пусть с:\ant-1.3)
3. выполнить (под виндой):
set ANT_HOME=c:\ant-1.1
set PATH=%PATH%;%ANT_HOME%\bin
(или залезть в Environment Variables и там добавить это ручками)

Сборка:
1. Выполнить: ant -buildfile build.xml jar в директории с исходниками (там, где лежит build.xml - c:\libs\commons-net-1.0.0)

Скорее всего будут какие-нить проблемы с атрибутами в build.xml (так как файл билда расчитан на ант
"постарше") - удалим их. Может и на элемент ругнуться - удалим весь узел.
Если после этого соберется, то ок (jar будет лежать в папочке target)

Да - посмотри в build.xml элементы с именем "get" (скорее всего они будут в элементе target c атрибутом
name="get-deps") - если не будет компилироваться по той же причине (wrong version: 46, expected 45)
- закомментируй их.
Ну вроде все

Автор: LAKERS 10.3.2006, 09:50
спасибо, попробую

Автор: LSD 10.3.2006, 10:38
Цитата(Beard @ 10.3.2006, 00:51 Найти цитируемый пост)
Да - посмотри в build.xml элементы с именем "get" (скорее всего они будут в элементе target c атрибутом
name="get-deps") - если не будет компилироваться по той же причине (wrong version: 46, expected 45)
- закомментируй их.

Без зависимостей код не скомпилируется, их тоже надо будет пересобрать.

Автор: Beard 10.3.2006, 11:40
Там из зависимостей будет junit и то же ант версии побольше, без которых, я думаю, все вполне соберется

Автор: LAKERS 10.3.2006, 12:10
Цитата(Beard @ 10.3.2006, 00:51 Найти цитируемый пост)
2. Скачать ant (например, 1.1 - http://archive.apache.org/dist/ant/binarie...rta-ant-1.3.zip
так какой скачивать, например, 1.1 или 1.3.zip?
Добавлено @ 12:16
да и ссылка битая...можно не битую? качать бинари или соурс?
Добавлено @ 12:22
Цитата(Beard @ 10.3.2006, 00:51 Найти цитируемый пост)
3. выполнить (под виндой):
set ANT_HOME=c:\ant-1.1
set PATH=%PATH%;%ANT_HOME%\bin
(или залезть в Environment Variables и там добавить это ручками)


вот это как выполнить? если в Environment Variables, то я через ";" добавляю %PATH%;%ANT_HOME%\bin
а для set ANT_HOME=c:\ant-1.1 - что добавить?

Автор: Beard 10.3.2006, 13:05
1.3 - это я в начале версию поменьше взял на всякий случай и забыл исправить smile
не битая ссылка http://archive.apache.org/dist/ant/binaries/jakarta-ant-1.3-bin.zip
Делаешь новую переменную с именем ANT_HOME


Автор: LAKERS 10.3.2006, 22:07
to Beard

Цитата(Beard @ 10.3.2006, 00:51 Найти цитируемый пост)
Нужно (если пользовать ant):
1. Скачать исходники commons-net (ссылка выше). Пусть распакованы в c:\libs\commons-net-1.0.0
2. Скачать ant (например, 1.1 - http://archive.apache.org/dist/ant/binarie...rta-ant-1.3.zip - работает на JDK 1.1) . И, соответственно, распаковать в какую-нибудь директорию (пусть с:\ant-1.3)
3. выполнить (под виндой):
set ANT_HOME=c:\ant-1.1
set PATH=%PATH%;%ANT_HOME%\bin
(или залезть в Environment Variables и там добавить это ручками)

Сборка:
1. Выполнить: ant -buildfile build.xml jar в директории с исходниками (там, где лежит build.xml - c:\libs\commons-net-1.0.0)

Скорее всего будут какие-нить проблемы с атрибутами в build.xml (так как файл билда расчитан на ант
"постарше") - удалим их. Может и на элемент ругнуться - удалим весь узел.
Если после этого соберется, то ок (jar будет лежать в папочке target)

Да - посмотри в build.xml элементы с именем "get" (скорее всего они будут в элементе target c атрибутом
name="get-deps") - если не будет компилироваться по той же причине (wrong version: 46, expected 45)
- закомментируй их.
Ну вроде все



1. Скачал исходники commons-net. распакованы в c:\libs\commons-net-1.0.0
2. Скачал ant 1.3 . И, соответственно, распаковал вдиректорию ( с:\ant-1.3)
3. выполнил:

залез в Environment Variables и там добавил ручками куда-то в середину c:\ant-1.3\jakarta-ant-1.3\bin;

Сборка:
1. Выполнил: ant -buildfile build.xml jar в директории с исходниками (там, где лежит build.xml - c:\libs\commons-net-1.0.0)

C:\libs\commons-net-1.0.0>ant -buildfile build.xml jar

Warning: JAVA_HOME environment variable is not set.
If build fails because sun.* classes could not be found
you will need to set the JAVA_HOME environment variable
to the installation directory of java.

Unable to initialize threads: cannot find class java/lang/Thread
C:\libs\commons-net-1.0.0>


вот что вышло, что я сделал не так?

Автор: batigoal 10.3.2006, 23:12
Ну так, собственно, надо проверить, установлена ли переменная окружения JAVA_HOME. Она должна указывать на каталог инсталляции JDK.

Автор: LAKERS 11.3.2006, 13:24
и как правильно? задать новую переменную JAVA_HOME=C:\JDK1.1.8
а в Path ее тоже надо прописывать? или каталог C:\JDK1.1.8\bin так и оставлять? или прописывать JAVA_HOME\bin?

Автор: LSD 11.3.2006, 13:30
Цитата(LAKERS @ 11.3.2006, 13:24 Найти цитируемый пост)
задать новую переменную JAVA_HOME=C:\JDK1.1.8

Угу создаешь переменную JAVA_HOME и записываешь в нее C:\JDK1.1.8. А в PATH добавляешь %JAVA_HOME%\bin.

Автор: LAKERS 11.3.2006, 13:40
Цитата(LSD @ 11.3.2006, 13:30 Найти цитируемый пост)
Угу создаешь переменную JAVA_HOME и записываешь в нее C:\JDK1.1.8. А в PATH добавляешь %JAVA_HOME%\bin.


% - а вот это зачем надо?

Автор: LSD 11.3.2006, 14:08
Цитата(LAKERS @ 11.3.2006, 13:40 Найти цитируемый пост)
% - а вот это зачем надо?

Когда ты пишешь JAVA_HOME\bin, то это останется как есть, а если написать %JAVA_HOME%\bin то будет найдена переменная JAVA_HOME и ее значение будет подставленно в указанное место. Т.е. в твоем случае результатом JAVA_HOME\bin - будет JAVA_HOME\bin, а %JAVA_HOME%\bin - будет C:\JDK1.1.8\bin.

Автор: LAKERS 11.3.2006, 18:19
сделал все....

он создал папку target\lib она пустая и все, что дальше?


C:\libs\commons-net-1.0.0>ant -buildfile build.xml jar
Buildfile: build.xml

init:
[mkdir] Created dir: C:\libs\commons-net-1.0.0\target\lib

BUILD FAILED

C:\libs\commons-net-1.0.0\build.xml:23: Could not create task of type: condition
. Common solutions are to use taskdef to declare your task, or, if this is an op
tional task, to put the optional.jar in the lib directory of your ant installati
on (ANT_HOME).

Total time: 0 seconds
C:\libs\commons-net-1.0.0>

Автор: Beard 12.3.2006, 01:36
Найди элемент "condition" и закомментируй его

Автор: LAKERS 12.3.2006, 10:34
Код
/* 
- <condition property="noget">
  <equals arg2="only" arg1="${build.sysclasspath}" /> 
  </condition>
  */

таким образом закомментировать?

тогда пишет вот это
Цитата
C:\libs\commons-net-1.0.0>ant -buildfile build.xml jar
Buildfile: build.xml

BUILD FAILED

C:\libs\commons-net-1.0.0\build.xml:23: Unexpected text "/*"

Total time: 0 seconds
C:\libs\commons-net-1.0.0>

Автор: tux 12.3.2006, 11:03
Код

<!-- 
<condition property="noget">
    <equals arg2="only" arg1="${build.sysclasspath}" />
</condition>
-->

Автор: LAKERS 12.3.2006, 19:47
ну вроде получилось, и это что, типа этот пакет commons-net-1.0.0 под JDK 1.1.8 подстроил?

Автор: LSD 13.3.2006, 00:42
Цитата(LAKERS @ 12.3.2006, 19:47 Найти цитируемый пост)
и это что, типа этот пакет commons-net-1.0.0 под JDK 1.1.8 подстроил?

Вроде того как, только проверь работает ли он.

Автор: LAKERS 13.3.2006, 10:06
ну откомпилировал без ошибок...теперь надо саму прогу довести до ума...всем спасибо...

Автор: LAKERS 13.3.2006, 10:58
дома все прошло ок, на работе что-то долго все происходило, более 5 минут...

может что не в порядке?


C:\commons-net-1.0.0>ant -buildfile build.xml jar
Buildfile: build.xml

init:
[mkdir] Created dir: C:\commons-net-1.0.0\target\lib

get-deps:
[get] Getting: http://www.ibiblio.org/maven/junit/jars/junit-3.8.1.jar
[get] Getting: http://www.ibiblio.org/maven/ant/jars/ant-1.5.jar
[get] Getting: http://www.ibiblio.org/maven/ant/jars/ant-optional-1.5.jar

compile:
[mkdir] Created dir: C:\commons-net-1.0.0\target\classes
[javac] Compiling 103 source files to C:\commons-net-1.0.0\target\classes

jar:
[jar] Building jar: C:\commons-net-1.0.0\target\commons-net-1.0.0-dev.jar

BUILD SUCCESSFUL

Total time: 5 minutes 20 seconds
C:\commons-net-1.0.0>

Автор: LAKERS 13.3.2006, 11:49
теперь пытаюсь отправить файл на сервер
пишу в коде
Код

ftp.storeFile("myr.fc", "c:/myr.fc");


первый это remote - правильно, а второе это local - ошибку выдает...
как правильно его записать? требует формата java.io.InputStream


Автор: LAKERS 13.3.2006, 12:14
попробовал через FileInputStream, но выдает след. ошибку


D:\1\jdk\demo>javac HttpNetworking.java
HttpNetworking.java:15: Exception java.io.FileNotFoundException must be caught,
or it must be declared in the throws clause of this method.
FileInputStream fin = new FileInputStream ("c://myr.fd");
^
HttpNetworking.java:40: Undefined variable: fin
ftp.storeFile("myr.fd", fin);
^
2 errors

D:\1\jdk\demo>edit HttpNetworking.java

D:\1\jdk\demo>


????????????????????

Автор: Beard 13.3.2006, 12:19
"дома все прошло ок, на работе что-то долго все происходило, более 5 минут..."
Это потому что долго скачивал:
[get] Getting: http://www.ibiblio.org/maven/junit/jars/junit-3.8.1.jar
[get] Getting: http://www.ibiblio.org/maven/ant/jars/ant-1.5.jar
[get] Getting: http://www.ibiblio.org/maven/ant/jars/ant-optional-1.5.jar

А вот это
Код

  FileInputStream fin = new FileInputStream ("c://myr.fd");


надо взять в try/catch блок,
или в заголовок метода, где это делается, добавить throws java.io.FileNotFoundException
Добавлено @ 12:20
Вобщем - давай код, будем править!

Автор: LAKERS 13.3.2006, 13:46


Цитата(Beard @ 13.3.2006, 12:19 Найти цитируемый пост)
А вот это

код Java
1:

  FileInputStream fin = new FileInputStream ("c://myr.fd");






надо взять в try/catch блок,
или в заголовок метода, где это делается, добавить throws java.io.FileNotFoundException
Добавлено @ 12:20
Вобщем - давай код, будем править!


я уже поправил по другому и все вроде пошло путем...вот так:

Код

1 FTPClient lftp = new FTPClient();

2 lftp.setDataTimeout(30000);
3 lftp.connect("ftp.aaa.ru");
4 lftp.login("***", "***");
5 lftp.setFileType(FTP.BINARY_FILE_TYPE);
6 lftp.enterLocalPassiveMode();
7 InputStream input;

8 input = new FileInputStream("c:\\crack.zip");

9 lftp.storeFile("aaaa.aaa", input);
10 lftp.logout();



только 2, 5, 6 и 10 строки я не писал, зечем нужна 2, 5 и 6???

да, все получилось, только передал файл на сервак, а он весит не 1.3 метра, как начальный, а 500 К...почему так?

Автор: Beard 13.3.2006, 14:14
Цитата

только 2, 5, 6 и 10 строки я не писал, зечем нужна 2, 5 и 6???

Читай JavaDoc, которые есть, например, в бинарном дистрибе commons-net-1.0.0 - там все прекрасно
про это написано. Да и про самое FTP (что за протокол, какие команды...) не плохо было бы почитать,
чтоб все вообще было понятно.

Цитата

только передал файл на сервак, а он весит не 1.3 метра, как начальный, а 500 К...почему так?

По разным причинам (не до конца закачался, например).
На сервере-то он корректный? ZIP его берет?

проверь, что вот эта строчка возвращает:
Код

lftp.storeFile("aaaa.aaa", input);

Если true, то все должно быть OK.

Да и Stream по хорошему надо самому закрывать:
Код

...
lftp.storeFile("aaaa.aaa", input);
input.close()

хотя это и не должно сказаться,
да и коннекшен к серверу тоже надо в конце закрыть

Код

lftp.disconnect()


Посмотри examples, которые есть в сорцах commons-net

Автор: LAKERS 13.3.2006, 14:29
5 строка понял зачем нужна была, файл теперь нормального размера... да и передается в секунды, хотя раньше очень долго ждал, минуты 2....

Всем спасибо, теперь будет работать над приемом файлов с сервера... smile хотя еще с передачей не все понятно, я использую FileDialog , так как этот выбранный файл поместить вместо
Код

input = new FileInputStream("c:\\crack.zip");


???

Автор: Beard 13.3.2006, 14:40
Так и помещай
Код

input = new FileInputStream(file);

где file - тот java.io.File, что ты получил из диалога,
или String - путь до файла

Автор: LAKERS 23.3.2006, 14:12
Цитата(Beard @ 13.3.2006, 14:40 Найти цитируемый пост)
Так и помещай

код Java
1:

input = new FileInputStream(file);





где file - тот java.io.File, что ты получил из диалога,
или String - путь до файла


использую FileDialog
Код


FileDialog dialog = new FileDialog(this, "Open", FileDialog.LOAD);
dialod.show();
fF3.setText(dialog.getFile());



далее я проверяю нажата ли нужная кпопка, если нажата то надо отправить файл на ФТП сервер, как туда вложить выбранный файл из FileDialog?

пишу

Код

input = new FileInputStream (?????);


что надо указать ?
F = new File(dialog.getFile());
fis = new FileInputStream (F);

input = new FileInputStream (fis); ????????


Автор: Beard 23.3.2006, 14:18
Код

File file = new File(dialog.getDirectory(), dialog.getFile())
input = new FileInputStream(file)

Автор: LAKERS 23.3.2006, 15:01
выдает ошибку...


c:\test>javac GridBagLayoutWindow.java
GridBagLayoutWindow.java:75: Exception java.io.FileNotFoundException must be cau
ght, or it must be declared in the throws clause of this method.
input = new FileInputStream (file);
^
1 error

соответсвенно я эти две строки

Цитата(Beard @ 23.3.2006, 14:18 Найти цитируемый пост)

File file = new File(dialog.getDirectory(), dialog.getFile())
input = new FileInputStream(file)


они у меня находятся в разных {}

???

Автор: LAKERS 23.3.2006, 15:45
не могу выдернуть файл из FileDialog чтобы отправить его через нажатие PUT


[code=java]
import java.awt.*;
import java.awt.event.*;
import java.net.*;
import java.io.*;
import org.apache.commons.net.ftp.*;

public class GridBagLayoutWindow extends Frame implements ActionListener {

private TextField tF3 = null;
private TextArea textArea = null;
private DataInputStream dis = null;
private InputStream input;
private OutputStream output;
private Button b = new Button("Open");
File file;

protected void makebutton(String name,
GridBagLayout gridbag,
GridBagConstraints c) {
Button button = new Button(name);
gridbag.setConstraints(button, c);
add(button);
button.addActionListener(this);
}

public GridBagLayoutWindow(String title) {
super(title);

// handle frame closing events
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
} );
GridBagLayout gridbag = new GridBagLayout();
GridBagConstraints c = new GridBagConstraints();
setFont(new Font("Helvetica", Font.PLAIN, 14));
setLayout(gridbag);
c.fill = GridBagConstraints.NONE;
c.insets = new Insets(5,5,5,5);
c.weightx = 1.0;
c.anchor = GridBagConstraints.CENTER;
TextField tF1 = new TextField("Enter IP", 25);
add(tF1);
c.gridwidth = GridBagConstraints.REMAINDER;
makebutton("OK", gridbag, c);
TextField tF2 = new TextField("STATUS", 25);
add(tF2);
c.gridwidth = GridBagConstraints.REMAINDER;
makebutton("GET File", gridbag, c);
c.gridwidth = GridBagConstraints.REMAINDER;
c.anchor = GridBagConstraints.NORTHEAST;
makebutton("PUT File", gridbag, c);
tF3 = new TextField(20);
add(tF3);
add(b);
b.addActionListener(this);
}


//Pressing the Open button triggers an ActionEvent, sent to the application with an invocation of the actionPerformed method.

public void actionPerformed(ActionEvent evt) {
FTPClient ftp = new FTPClient();
Object sc = evt.getSource();

String cmd = evt.getActionCommand();

if (sc == b)
{
FileDialog dialog = new FileDialog(this, "Open a file", FileDialog.LOAD);
dialog.show();
tF3.setText(dialog.getFile());
File file = new File (dialog.getDirectory(), dialog.getFile());
System.out.println(file.getAbsolutePath());



}

if (cmd == "PUT File")
{
try {

input = new FileInputStream (file);
ftp.connect("192.168.123.254");
ftp.login("Administrator", "11111");
ftp.setFileType(FTP.ASCII_FILE_TYPE);
ftp.enterLocalPassiveMode();
System.out.println("Connected");

ftp.makeDirectory("\\test");
System.out.println("MakeDirectory");

ftp.appendFile("\\test\\1.txt", input);
System.out.println("Input OK");

System.out.println("Remote syst

Автор: batigoal 23.3.2006, 15:46
Цитата(LAKERS @ 23.3.2006, 16:01 Найти цитируемый пост)
они у меня находятся в разных {}

FileNotFoundException может быть выброшено при создании FileInputStream().
Добавлено @ 15:48
Цитата(LAKERS @ 23.3.2006, 16:45 Найти цитируемый пост)
не могу выдернуть файл из FileDialog

В смысле - не можешь?

Автор: LAKERS 23.3.2006, 16:10
все, решил проблему...

Автор: LAKERS 23.3.2006, 22:34
еще, на КПК почему-то текстовые поля у меня минимальной формы, хотя я устанавливаю и тестирую на ПК все идет нормально, размеры 25...почему так может быть?

Автор: LSD 23.3.2006, 22:40
Модератор: Пожалуйста, один топик - один вопрос.

Создай новую тему, опиши поподробней проблему, что за компоненты как располагаешь и т.д.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)