Форум программистов, компьютерный форум CyberForum.ru

Получить список файлов сервера указав путь - Android

Восстановить пароль Регистрация
Другие темы раздела
Android Игровое приложение "Шашки" для мобильных устройств http://www.cyberforum.ru/android-dev/thread1769503.html
Какой алгоритм работы искусственного интеллекта используется для игры в шашки "человек против компьютера" и какие разделы математики касаются данной темы?
Android Как в jsoup получить абсолютный URL? Приветствую всех! прошу помощи в получении ссылки, на некоторой странице с адресом напр.: "http://almazy.com/catalog/almazy/almazy-granenye/1/" есть такой код: <div class="catalog"> <div itemscope itemtype="http://schema.org/Product" class="product-cont"> <a href="/catalog/almazy/almazy-granenye/almaz-granenyi-100karat.html"><p itemprop="name" class="product-name">Almaz... http://www.cyberforum.ru/android-dev/thread1769463.html
Приложение для фитнес-браслета Android
Добрый день, господа программисты. Стоит задача написать приложение под андройд (в дальнейшем и под iOS)для шагомеров(фитнес - браслетов). Главная функция - отслеживание количество пройденных шагов. Хотел спросить сложное ли это задание? с чего следует начинать для решения поставленной задачи. Сильно не пинайте,если что-то написал не в тему. Буду рад помощи. Спасибо yuta_86 на форуме ...
Android studio sign developer key Android
Доброго дня, Выложили приложение в PM и подписали его ключом. Прошло время, мы доработали и хотели залить новую версию, но при сборке APK , студия выдала вот это: Error: Execution failed for task ':app:PackageRelease'. > Failed to read key cityguide from store "/home/user2/download/play_store.jks": Cannot recover key Старый ключ ей не нравится, с новым ключом собирает нормально. Кто...
Android Android Studio перекомпиляция проекта http://www.cyberforum.ru/android-dev/thread1769302.html
Android Studio 2.1.2 При запуске программы(перекомпиляции) мне кажется что программа не заменяется, а просто перезапускается.. Иногда меняю функцию и перезапускаю, а программа работает так как будто функция не поменялось.. У меня глюки? Или есть такое? Как заставить каждый раз заливать в устройство новую прогу? В старых версиях такого не было... p.s. В новой версии мне кажется что...
Android Android:debuggable="true" Обновил IntelliJ IDEA до версии 2016. При запуске отладки требует указания параметра debuggable в манифесте. Добавляю строку: android:debuggable="true" Но при формировании Signed APK нужно выставлять android:debuggable="false" Неужели придется постоянно менять этот параметр? В более ранних версиях IntelliJ IDEA это не было нужно. подробнее

Показать сообщение отдельно
begginer4815
3 / 0 / 0
Регистрация: 16.12.2015
Сообщений: 17
23.06.2016, 18:03     Получить список файлов сервера указав путь
Есть сервер на java рабочий. Принимает запросы от клиента и выводит список txt файлов прописанного в путе диска, затем по введенному названию тхт файла выводит его содержимое
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
package test;
 
 
import java.net.*;
import java.io.*;
import java.util.*;
 
public class test {
    public static void main(String[] args){      
        try{
        ServerSocket ss = new ServerSocket(3333);
        while(true)
        new HttpConnect(ss.accept());       
        }catch(ArrayIndexOutOfBoundsException ae)
        {
            System.err.println("Usage server port");
            System.exit(0);
        }catch(IOException e)
        {
            System.out.println(e);
        }
    }
}
 
    class HttpConnect extends Thread{
    private Socket sock;
    HttpConnect(Socket s)
    {
    sock = s;
    setPriority(NORM_PRIORITY - 1);
    start();
    }
    public void run()
    {
    try
    {
        PrintWriter pw = new PrintWriter(new OutputStreamWriter(sock.getOutputStream()),true);
            BufferedReader br = new BufferedReader(new InputStreamReader(sock.getInputStream()));
            String req = br.readLine();
            String files = "";
            System.out.println("Request: " + req);
            StringTokenizer st = new StringTokenizer(req);
            if((st.countTokens() >= 2) && st.nextToken().equals("POST")){
                if((req = st.nextToken()).endsWith("/") || req.equals(""))
                    req += "";
                    File f = new File(req);
                    MyFileFilter filter = new MyFileFilter();
                    File[] list = f.listFiles(filter);
                    for(int i = 0; i < list.length; i++) 
                    {
                       files += list[i].toString() + "\n";
                    }
                    pw.write("HTTP/1.1 200 OK\n");
                    pw.write(files);
                    pw.write("HTTP/1.1 200 OK\n");
                    pw.flush();
                } else pw.println("HTTP/1.1 400 Bad RequestW");
            
            if(req != null)
            {
            String res = br.readLine();
            System.out.println("Request: " + res);
            StringTokenizer st1 = new StringTokenizer(res);
            if((st1.countTokens() >= 2) && st1.nextToken().equals("POST")){
                if((res = st1.nextToken()).endsWith("/") || res.equals(""))
                    res += "";
                try{
                    File f = new File(req + res);
                    BufferedReader bfr = new BufferedReader(new FileReader(f));
                    char[] data = new char[(int)f.length()];
                    bfr.read(data);
                    pw.println("HTTP/1.1 200 OK\n");
                    pw.write(data);
                    pw.flush();
                }
                catch(FileNotFoundException fe)
                {
                    pw.println("HTTP/1.1 404 Not FoundX\n");
                }catch(IOException ioe)
                {
                    System.out.println(ioe);
                }
                } else pw.println("HTTP/1.1 400 Bad RequestW");
            }
            
            sock.close();
            }catch(IOException e)
            {
                System.out.println(e);
            }
    }
}
class MyFileFilter implements FileFilter {
    public boolean accept(File pathname) 
    {
       return pathname.isFile() && pathname.getName().endsWith(".txt");
    }
}

Так же есть клиент, который запрашивает путь директории и затем имя txt файла, для вывода его содержимого
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
public static void main(String[] args) {
        String host = "182.176.11.3";
        int port = 3333;
        String file = null;
        String path = null;
        Scanner sc = new Scanner(System.in);
        path = sc.nextLine();
        try{
            Socket sock = new Socket(host, port);
            PrintWriter pw = new PrintWriter(new OutputStreamWriter(sock.getOutputStream()),true);
            pw.println("POST " + path + " HTTP/1.1");
            BufferedReader br = new BufferedReader(new InputStreamReader(sock.getInputStream()));
            String line1 = br.readLine();
            StringTokenizer se = new StringTokenizer(line1);
            String res = "HTTP/1.1 200 OK";
            while((line1 = br.readLine()) != null)
            {
                if (res.equals(line1))
                {
                    break;  
                }
                else
                {
                    System.out.println(line1);
                }
            }
            file = sc.nextLine();
            pw.println("POST " + file + " HTTP/1.1\n");
            String line = null;
            line = br.readLine();
            StringTokenizer st = new StringTokenizer(line);
            String code = null;
            while((line = br.readLine()) != null)
                System.out.println(line);
            sock.close();
            byte bKbdInput[] = new byte[256];
            int lenght = System.in.read(bKbdInput);
        }catch(Exception e)
        {
            System.err.println(e);
        }
    }   
}
Подключение к серверу сделал
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
public void conn(View view) {
        AsyncTask<String, Integer, Boolean> task = new AsyncTask<String, Integer, Boolean>() {
            @Override
            protected Boolean doInBackground(String... params) {
                try {
                    s = new Socket(params[0], 3333);
                    is = s.getInputStream();
                    os = s.getOutputStream();
                } catch (Exception ioe) {
                    return false;
                }
                return true;
            }
 
            @Override
            protected void onPostExecute(Boolean param) {
                editText3.setText((param)? "Подключено" : " Нет ответа");
            }
        };
        task.execute(spinner.getSelectedItem().toString());
    }
Как переделать клиент java под андроид чтобы получить хотя бы список файлов например в мултилайн текст?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 20:55. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru