java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > java url转换InputStream

Java中语音url转换成InputStream的示例代码

作者:weixin_43652507

在Java中,可以使用java.net.URL和java.net.URLConnection类来将语音URL转换为InputStream,本文通过示例代码介绍Java中语音url转换成InputStream的相关知识,感兴趣的朋友一起看看吧

Java中语音url转换成InputStream

在Java中,你可以使用java.net.URL和java.net.URLConnection类来将语音URL转换为InputStream。以下是一个简单的示例:

import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.net.URLConnection;
public class AudioUrlToInputStream {
    public static void main(String[] args) {
        String audioUrl = "https://example.com/audio.mp3"; // 替换为实际的语音URL
        try {
            InputStream inputStream = getInputStreamFromUrl(audioUrl);
            // 在这里使用inputStream进行后续操作,例如写入文件或进行语音处理
            // ...
            // 记得关闭InputStream
            inputStream.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    private static InputStream getInputStreamFromUrl(String urlString) throws IOException {
        URL url = new URL(urlString);
        URLConnection urlConnection = url.openConnection();
        return urlConnection.getInputStream();
    }
}

在这个示例中,getInputStreamFromUrl方法通过URL和URLConnection获取语音URL对应的InputStream。你可以将实际的语音URL替换为你想要处理的URL。在main方法中,你可以使用获取到的InputStream执行后续操作,比如将语音写入文件或进行其他处理。最后,记得关闭InputStream以释放资源。

补充:

java 远程文件url 转为输入流

URL url = new URL(fileUrl);
HttpURLConnection conn = (HttpURLConnection)url.openConnection();
//设置超时间为3秒
conn.setConnectTimeout(3*1000);
//防止屏蔽程序抓取而返回403错误
conn.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)");
//得到输入流
InputStream inputStream = conn.getInputStream();
public static AjaxModel parseExcelForInfo(InputStream inputStream, String fileName, int taskId) {
    try {
        //创建workbook对象
        Workbook workbook = null;
        if (fileName.contains(".xlsx")) {
            workbook = new XSSFWorkbook(inputStream);
        } else if (fileName.contains(".xls")) {
            workbook = new HSSFWorkbook(inputStream);
        } else {
            return AjaxModel.failed(-1, "文件类型不正确");
        }
        //获取第一个sheet表
        Sheet sheetAt = workbook.getSheetAt(0);
        if (sheetAt != null) {
            // TODO 校验excel头
            Row headRow = sheetAt.getRow(0);
            for (int i = 0; i < BusinessSettlementConstants.TEMPLATE_COULMN.length; i++) {
                if (!FileUtil.getCellFormatValue(headRow.getCell(i)).trim().equals(BusinessSettlementConstants.TEMPLATE_COULMN[i])) {
                    LOGGER.info("parseExcelForInfo excel头部信息顺序不正确,getCellFormatValue(headRow.getCell(i)):{}," +
                                    "BusinessSettlementConstants.TEMPLATE_COULMN[i]:{},taskId:{}", FileUtil.getCellFormatValue(headRow.getCell(i)),
                            BusinessSettlementConstants.TEMPLATE_COULMN[i], taskId);
                    return AjaxModel.failed("excel标题头顺序不正确:" + FileUtil.getCellFormatValue(headRow.getCell(i)));
                }
            }
            int startRowNum = sheetAt.getFirstRowNum() + 1;
            int lastRowNum = sheetAt.getLastRowNum();
            LOGGER.info("解析excel开始taskId:{},从【{}】行开始,到第【{}】行结束", taskId, startRowNum, lastRowNum);
            List<Map<String, String>> dataList = new ArrayList<Map<String, String>>();
            for (int rowNum = startRowNum; rowNum <= lastRowNum; rowNum++) {
                // 每一行数据
                Row row = sheetAt.getRow(rowNum);
                Map<String, String> map = new HashMap<>();
                LOGGER.info("parseExcelForInfo row:{}", row);
                if (row != null && row.getCell(0) != null && StringUtils.isNotEmpty(row.getCell(0).getStringCellValue()) && row.getCell(2) != null && row.getCell(4) != null) {
                    LOGGER.info("parseExcelForInfo row:{},cell:{}", row, row.getCell(0));
                    // 姓名
                    map.put("userName", FileUtil.getCellFormatValue(row.getCell(0)));
                    dataList.add(map);
                }
            }
            LOGGER.info("--------------解析完成 dataList:{}", dataList);
            if (dataList.size() <= 0) {
                return AjaxModel.failed(-1, "解析表格数据为空");
            }
            AjaxModel success = AjaxModel.success();
            success.getData().put("dataList", dataList);
            return success;
        } else {
            LOGGER.info("sheet内容为空");
            return AjaxModel.failed(-1, "表格内容为空");
        }
    } catch (Exception e) {
        LOGGER.error("parseExcelForInfo 解析异常", e);
    }
    return AjaxModel.failed(-1, "解析表格异常");
}
public static String getCellFormatValue(Cell cell) {
    cell.setCellType(CellType.STRING);
    return cell.getStringCellValue();
}

到此这篇关于Java中语音url转换成InputStream的示例代码的文章就介绍到这了,更多相关java url转换InputStream内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文