⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 serialportfinder.java

📁 android串口调试软件
💻 JAVA
字号:
/* * Copyright 2009 Cedric Priscal *  * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at *  * http://www.apache.org/licenses/LICENSE-2.0 *  * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License.  */package android.serialport;import java.io.File;import java.io.FileReader;import java.io.IOException;import java.io.LineNumberReader;import java.util.Iterator;import java.util.Vector;import android.util.Log;public class SerialPortFinder {	public class Driver {		public Driver(String name, String root) {			mDriverName = name;			mDeviceRoot = root;		}		private String mDriverName;		private String mDeviceRoot;		Vector<File> mDevices = null;		public Vector<File> getDevices() {			if (mDevices == null) {				mDevices = new Vector<File>();				File dev = new File("/dev");				File[] files = dev.listFiles();				int i;				for (i=0; i<files.length; i++) {					if (files[i].getAbsolutePath().startsWith(mDeviceRoot)) {						Log.d(TAG, "Found new device: " + files[i]);						mDevices.add(files[i]);					}				}			}			return mDevices;		}		public String getName() {			return mDriverName;		}	}	private static final String TAG = "SerialPort";	private Vector<Driver> mDrivers = null;	Vector<Driver> getDrivers() throws IOException {		if (mDrivers == null) {			mDrivers = new Vector<Driver>();			LineNumberReader r = new LineNumberReader(new FileReader("/proc/tty/drivers"));			String l;			while((l = r.readLine()) != null) {				String[] w = l.split(" +");				if ((w.length == 5) && (w[4].equals("serial"))) {					Log.d(TAG, "Found new driver: " + w[1]);					mDrivers.add(new Driver(w[0], w[1]));				}			}			r.close();		}		return mDrivers;	}	public String[] getAllDevices() {		Vector<String> devices = new Vector<String>();		// Parse each driver		Iterator<Driver> itdriv;		try {			itdriv = getDrivers().iterator();			while(itdriv.hasNext()) {				Driver driver = itdriv.next();				Iterator<File> itdev = driver.getDevices().iterator();				while(itdev.hasNext()) {					String device = itdev.next().getName();					String value = String.format("%s (%s)", device, driver.getName());					devices.add(value);				}			}		} catch (IOException e) {			e.printStackTrace();		}		return devices.toArray(new String[devices.size()]);	}	public String[] getAllDevicesPath() {		Vector<String> devices = new Vector<String>();		// Parse each driver		Iterator<Driver> itdriv;		try {			itdriv = getDrivers().iterator();			while(itdriv.hasNext()) {				Driver driver = itdriv.next();				Iterator<File> itdev = driver.getDevices().iterator();				while(itdev.hasNext()) {					String device = itdev.next().getAbsolutePath();					devices.add(device);				}			}		} catch (IOException e) {			e.printStackTrace();		}		return devices.toArray(new String[devices.size()]);	}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -